brew编程 mp3播放问题

WE微笑 2012-09-26 09:27:15
用ISound创建的设置音频源不能同时播放多个mp3?就像多线程一样,几个MP3同时播放
...全文
1694 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
WE微笑 2012-10-12
  • 打赏
  • 举报
回复
我用IMedia接口以及AEEMediaUtil中的方法自动创建media。在我的TestDemo中可以正常的同时播放3个音乐:代码如下:
media.cpp
---------------------------------
Media::Media(BMainApp * pApp,char * name):m_pApp(pApp)
{

this->bContinue=TRUE;
data.clsData=MMD_FILE_NAME;
data.pData = name;

AEEMediaUtil_CreateMedia(m_pApp->m_pIShell,&data,&this->pIMedia);


}
------------------------------------
void Media ::Play()
{


IMedia_Play(pIMedia);


}
-------------------------------------
下面是创建即播放
-------------------------------------
main.cpp 部分代码
-------------------------------------
handleEvent(AEEEvent eCode,uint16 wParam,uint32 dwParam)
{
...
Media *pMedia1,*pMedia2,*pMedia3;//Media是我自定义的类,用于创建、播放、释放IMedia
switch(eCode)
case EVT_KEY_PRESS:
//播放声音
if(wParam == AVK_SELECT)
{

pMedia1 = new Media(this,MUSIC_URL);//从文件直接读取

pMedia1->Play();

}
if (wParam == AVK_2)
{

pMedia2 = new Media(this,1);//播放第一首,从资源文件读取
pMedia2->Play();
}
if (wParam == AVK_3)
{

pMedia3 = new Media(this,"./resource/jiangnan_Style.mp3");
pMedia3->Play();
}
if (wParam == AVK_4)
{
//pMedia1->bContinue=FALSE;

pMedia1->Stop();
}
if (wParam == AVK_5)
{

pMedia1->Resume();
}
Update();
return (TRUE);
break;
...
}
----------------------------------------
以上代码 可以同时正常播放3首,不管是mid还是MP3。
-----------------------------------------
但是,将次方式移植到另外的一个工程,用
mediaData.clsData = MMD_FILE_NAME;
mediaData.pData = "gu.mid";
//mediaData.dwSize = 65535;
AEEMediaUtil_CreateMedia(m_pIShell,&mediaData,&this->pIMedia)来创建IMedia接口失败,返回状态码为:1
两个工程用的是同一配置的模拟器,播放的是同一音频文件,为什么就失败呢?我测试出来是pIMedia地址没有被改变,又想到是mediaData的问题,把路径设置为绝对路径或者相对路径都是相同结果,好吧,我凌乱了。难道是m_pIShell有问题?m_pIShell是由主入口函数传过来的IShell指针,不会有问题的。
困惑中,望解。
strayedbird 2012-09-26
  • 打赏
  • 举报
回复
音频播放一般不用ISound了,用IMedia
IMedia有多个音频同步播放技术,但是对同时播放的音频格式有要求,编码简单的可以同时播放,复杂的不可以,mp3算是复杂的,所以不可以。

2,851

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧