芯方式

LCMMI audioplayer 如何开启快进快退功能

0
阅读(1040)

[Description]
打开__MMI_AUDPLY_FFW_AND_RW__之后
进入音乐播放器会死机
[Solution]来自半导体

1.请把med_global.h文件中的以下 这段改为:
//#if !defined(NEPTUNE_MMI) //注释掉这句
#ifndef __RICH_AUDIO_PROFILE__
#define __RICH_AUDIO_PROFILE__
#endif
//#endif //注释掉这句
2.修改AudioPlayerSrc.c文件如下:
#include "aud_daf_parser.h"
#include "med_global.h" //添加这句
#include "AudioPlayerDef.h"
#include "AudioPlayerType.h"
#include "AudioPlayerProt.h"
#include "AudioPlayerMainScreen.h"
#include "AudioPlayerPlayList.h"
//#include "med_global.h" //把原来这个位置这句删除
3.
AudioPlayerMsgHandler.c
void mmi_audply_play(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
//mmi_audply_clear_play_seconds(); //remove this line
g_audply.need_restore = FALSE;
mmi_audply_do_play_action(); /* do play action */
} 4

AudioPlayerPlayList.c
BOOL mmi_audply_apply_picked_file()
{
。。。
if ((result =
mmi_audply_playlist_get_fullfilename(g_audply.file.full_name,
g_audply.playlist.pick_index)) == 0)
{
isOK = FALSE;
g_audply.file.restorable = FALSE;
}
else
{
#if defined (__TEXT_ENCODING_ENABLED__)
if (result == 2) /* if it is a short filename */
{
mmi_audply_extract_filename(wchar_filename, g_audply.file.full_name);
mmi_chset_mixed_text_to_ucs2_str(
(U8*) filename,
(FMGR_MAX_FILE_LEN) * ENCODING_LENGTH,
(U8*) wchar_filename,
g_text_encoding);
}
else
#endif /* defined (__TEXT_ENCODING_ENABLED__) */
{
mmi_audply_extract_filename(filename, g_audply.file.full_name);
}
/* title */
mmi_audply_split_filename_ext(filename, g_audply.file.title, ext);
/* restorable */
g_audply.file.restorable = mmi_audply_check_restorable(ext);
/* Duration */
if (!(g_audply.state == STATE_PLAY) ) //add this if
{
if(mdi_audio_get_duration(g_audply.file.full_name,
&(g_audply.file.duration)) != MDI_AUDIO_SUCCESS)
{
g_audply.file.duration = 0 ;
}
} } … } 5.
mdi_audio.c
void mdi_audio_start_build_cache(
kal_wchar *filename,
U8 *cache_p,
U32 cache_size,
U8 *file_buf_p,
U32 file_buf_size,
U8 *proc_buf_p,
U32 proc_buf_size,
void (*handler)(void*),
U32 *build_cache_progress)
{
#ifndef MED_V_NOT_PRESENT
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_visual_audio_cache_req_struct *cache_parm =
(media_visual_audio_cache_req_struct*)
construct_local_para(sizeof(media_visual_audio_cache_req_struct),
TD_CTRL);
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
// ASSERT(file_buf_p!=NULL); //Remove this line
// ASSERT(proc_buf_p!=NULL); //Remove this line
… }