付费求助 50D 播放 amr或别的高招
我有个设备是50D,需要按一个按键完成报时功能。
我们目前的思路是用AMR格式的 1.amr 2.amr ....这样的资源,放到手机里面,
然后进行播放。
但我们遇到的点困难,我们没能用代码播放出amr格式的文件。
只能播放wav的,但wav的文件占空间过大,无法放进去。
希望有人能帮我解决这个问题:按键报时。
可以支付点费用,大家看300元行吗?
QQ:9036178
找SP公司,应当有能播放这类格式的软件。
找sp就麻烦了,他们按台收费。
mtk自带的按个tts能用吗?
amr mtk自带函数可以播放的, 我之前这样做过。但是没试过连续播放几个amr文件
你总的功能可用空间需要控制在多少K呢,MP3格式的应该也可以吧,0-10,11个数字声音,“点”,“分”,共13个,一个MP3
格式平均3k,总共也就40k
我们技术说播放不了 mp3
有办法 播放mp3文件不?
现在只能播放wav.
能告知下如何播放吗?
50D播不了MP3?
把音频文件加载到audio资源ID中,再通过ID播放
如下仅作参考,连续的就加上timer,顺序逐个播放即可
audio_data = get_audio((U16)(AUD_ID_PROF_NUM1_0 + index), &audio_type, &audio_len);
mdi_result result = mdi_audio_play_string_with_vol_path(
(U8*) audio_data,
audio_len,
audio_type,
DEVICE_AUDIO_PLAY_ONCE,
sjy_mmi_start_read_incoming_call_cb,
NULL,
srv_prof_get_ring_vol(),
MDI_DEVICE_SPEAKER2);
多谢各位,我对mtk不熟悉,折腾死人了。
搞好了,我把思路过程写下。太感谢各位了。
弄了 我一天一夜,不知道为啥这种东西网上竟然没找到资料,按理来说,做mtk的人都会。
1. 添加声音资源
plutommi\Customer\Audio\PLUTO 目录下
把要播放的*.amr放到:
plutommi\Customer\Audio\PLUTO\UserProfiles\Speech\Cn_Voice
同时:
把要播放的*.amr放到
plutommi\Customer\Audio\PLUTO\audio.zip
里面 UserProfiles\Speech\Cn_Voice 目录下
2. 添加 声音ID
ProfilesSrv.res
文件中添加:
<AUDIO id="AUD_ID_SPEECH_BEGIN">"..\\\\..\\\\Customer\\\\AUDIO\\\\EmptyAudio.mp3"</AUDIO>
#ifdef __MMI_LANG_SM_CHINESE__
<AUDIO id="AUD_ID_SPEECH_CN0" flag="MULTIBIN">CUST_ADO_PATH"\\\\UserProfiles\\\\Speech\\\\Cn_Voice\\\\0.amr"</AUDIO>
<AUDIO id="AUD_ID_SPEECH_CN1" flag="MULTIBIN">CUST_ADO_PATH"\\\\UserProfiles\\\\Speech\\\\Cn_Voice\\\\1.amr"</AUDIO>
<AUDIO id="AUD_ID_SPEECH_CN2" flag="MULTIBIN">CUST_ADO_PATH"\\\\UserProfiles\\\\Speech\\\\Cn_Voice\\\\2.amr"</AUDIO>
<AUDIO id="AUD_ID_SPEECH_CN3" flag="MULTIBIN">CUST_ADO_PATH"\\\\UserProfiles\\\\Speech\\\\Cn_Voice\\\\3.amr"</AUDIO>
<AUDIO id="AUD_ID_SPEECH_CN4" flag="MULTIBIN">CUST_ADO_PATH"\\\\UserProfiles\\\\Speech\\\\Cn_Voice\\\\4.amr"</AUDIO>
<AUDIO id="AUD_ID_SPEECH_CN5" flag="MULTIBIN">CUST_ADO_PATH"\\\\UserProfiles\\\\Speech\\\\Cn_Voice\\\\5.amr"</AUDIO>
<AUDIO id="AUD_ID_SPEECH_CN6" flag="MULTIBIN">CUST_ADO_PATH"\\\\UserProfiles\\\\Speech\\\\Cn_Voice\\\\6.amr"</AUDIO>
<AUDIO id="AUD_ID_SPEECH_CN7" flag="MULTIBIN">CUST_ADO_PATH"\\\\UserProfiles\\\\Speech\\\\Cn_Voice\\\\7.amr"</AUDIO>
<AUDIO id="AUD_ID_SPEECH_CN8" flag="MULTIBIN">CUST_ADO_PATH"\\\\UserProfiles\\\\Speech\\\\Cn_Voice\\\\8.amr"</AUDIO>
<AUDIO id="AUD_ID_SPEECH_CN9" flag="MULTIBIN">CUST_ADO_PATH"\\\\UserProfiles\\\\Speech\\\\Cn_Voice\\\\9.amr"</AUDIO>
<AUDIO id="AUD_ID_SPEECH_CN10" flag="MULTIBIN">CUST_ADO_PATH"\\\\UserProfiles\\\\Speech\\\\Cn_Voice\\\\xing.amr"</AUDIO>
<AUDIO id="AUD_ID_SPEECH_CN11" flag="MULTIBIN">CUST_ADO_PATH"\\\\UserProfiles\\\\Speech\\\\Cn_Voice\\\\jin3.amr"</AUDIO>
//在这添加ID
#endif
3. 产生ID, make o6 gprs resgen
4. 写代码
#include "Mdi_audio.h"
#include "Mmi_rp_srv_prof_def.h"
extern U8 *get_audio(MMI_ID_TYPE i, U8 *type, U32 *filelen);
void mlocate_util_play_callback(mdi_result result, void *user_data)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
//g_bgsnd_cntx.setup_playing = FALSE;
kal_prompt_trace(MOD_BT,"mlocate_util_play_callback: %d\n", result);
}
void mlocate_key_handler(const kal_int16 key_type, const kal_int16 key_code)
{
kal_prompt_trace(MOD_BT,"mlocate_key_handler: %d-%d\n", key_type, key_code);
if(key_type == KEY_EVENT_UP)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U32 audio_len;
U8 *audio_data;
U8 audio_type;
mdi_result result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
audio_data = get_audio((U16) (AUD_ID_SPEECH_CN12), &audio_type, &audio_len);
if (audio_data != NULL)
{
result = mdi_audio_play_string_with_vol_path(
(void*)audio_data,
audio_len,
audio_type,
DEVICE_AUDIO_PLAY_ONCE,
mlocate_util_play_callback,
NULL,
6,
MDI_DEVICE_SPEAKER_BOTH);
{
kal_prompt_trace(MOD_BT,"mdi_audio_play_string_with_vol_path: %d-%d\n", audio_len, result);
}
}
}
}
lz 好同志, 结贴
我现在又有新的问题了。
播出声音效果很差。听都听不清。音源在电脑上播放很清晰。
是不是产生资源的时候有比特率之类的选择?
之前做功能机的时候,依稀记得在来电铃声那块,有一种格式的音频文件,占空间很小的,你就用那种格式的音源,网上也有音视频编辑软件,可以搞个把你的音源修修,弄好以后,在接口那个地方直接调用一下播放你的音频就可以了。手机上的播放效果差,估计是硬件用的便宜货,听筒神马的不好用,还有就是音频参数可能没调好
嗯 估计是音频参数的问题,不会调。不知道有没有朋友能帮调这个声音的参数的?
我不清楚你说的,听不清楚到什么程度,我去年在做仿微信留言软件时,用amr的格式,文件也不大,效果很好,
不错,小编这种精神很好
难道你没有52,23,25之类的代码么,把语音报号移过来不就是了,想播啥播啥