当前位置: 代码迷 >> 移动平台 >> MTK高手帮忙看一看。这段代码有没有有关问题
  详细解决方案

MTK高手帮忙看一看。这段代码有没有有关问题

热度:8028   发布时间:2013-02-26 00:00:00.0
MTK高手帮忙看一看。这段代码有没有问题?
我跑过这段代码。录音的时候,时间跑不起来。只停留在哪个数上。
高手帮忙指点一下。
void mmi_sndrec_get_record_time_string(UI_string_type string)
{
  /*----------------------------------------------------------------*/
  /* Local Variables */
  /*----------------------------------------------------------------*/
  U8 format, quality;
  U32 recordtime, remindtime;
  U64 real_remindtime;  
  S32 rate;
  mmi_sndrec_time_struct time1, time2;

  /*----------------------------------------------------------------*/
  /* Code Body */
  /*----------------------------------------------------------------*/
  if (MMI_SNDREC_REC_STATE == g_sndrec_cntx.record.state || MMI_SNDREC_REC_PAUSE_STATE == g_sndrec_cntx.record.state)
  {
  recordtime = Media_GetRecordedTime();
  }
  else
  {
  recordtime = 0;
  }

  MMI_SNDREC_MSG_TRACE(g_sndrec_cntx.record.rectime);

recordtime += g_sndrec_cntx.record.rectime;
   
g_total_time=recordtime;

  if (!g_sndrec_cntx.record.is_timer_on)
  {
  MMI_SNDREC_MSG_TRACE(recordtime);
  mmi_sndrec_get_drive_size();
  g_sndrec_cntx.record.is_timer_on = MMI_TRUE;
  gui_start_timer(5000, mmi_sndrec_get_drive_size);
  }

if (g_sndrec_cntx.record.state == MMI_SNDREC_REC_STATE || 
  g_sndrec_cntx.record.state == MMI_SNDREC_REC_PAUSE_STATE || g_sndrec_cntx.record.isbreak)
  {
  format = g_sndrec_cntx.record.format;
  quality = g_sndrec_cntx.record.quality;
  }
  else
  {
  mmi_sndrec_get_valid_format(&format, &quality);
  }
rate = mmi_sndrec_get_record_rate(format, quality);

  real_remindtime = (U64) (g_sndrec_cntx.record.remindsize / rate);
  MMI_SNDREC_MSG_TRACE(real_remindtime);

  //check if more than 10000 hours left
remindtime = (real_remindtime >= MMI_SNDREC_HOURS_DISPLAY_LIMIT) ? MMI_SNDREC_HOURS_DISPLAY_LIMIT - 1 : (U32)real_remindtime;

  mmi_sndrec_transte_time(recordtime / 1000, &time1);
  mmi_sndrec_transte_time(remindtime, &time2);
  kal_prompt_trace(
  MOD_MMI,
  "[SNDREC] (mmi_sndrec_get_record_time_string) Time2: %d:%d:%d", 
  time2.hour,
  time2.minute,
  time2.second);
#ifdef __MMI_SNDREC_IPHONE__
  kal_wsprintf(
  string,
  "%02d:%02d:%02d",
  time1.hour,
  time1.minute,
  time1.second);
  if(MMI_SNDREC_REC_STATE == g_sndrec_cntx.record.state || MMI_SNDREC_REC_PAUSE_STATE == g_sndrec_cntx.record.state)
{
g_sndrec_cntx.record.rectime=recordtime-4400;
}
#else /*__MMI_SNDREC_IPHONE__*/
  kal_wsprintf(
  string,
  "%02d:%02d:%02d / %02d:%02d:%02d",
  time1.hour,
  time1.minute,
  time1.second,
  time2.hour,
  time2.minute,
  time2.second);
#endif /*__MMI_SNDREC_IPHONE__*/

}


------解决方案--------------------------------------------------------
怎么只有gui_start_timer(5000, mmi_sndrec_get_drive_size)一个timer呢?
------解决方案--------------------------------------------------------
我有全套的MTK 6225源代码包,联系QQ 935803109
  相关解决方案