imedia streaming 得问题

yunfeng_han 2008-11-22 05:16:29
小弟要用brew做一个media client,主要功能是从server接收数据,同时在client断播放

目前,想先用文件的方式从本地读取一个wav文件,然后边读取边播放,由于目的是为了以后steaming方式播放做准备,所以文件播放的时候也采用了Isource方式,程序基本是照着sdk写的

现在在手机上测试的时候发现了一个问题,就是模拟器似乎不会多次触发isource_read,而只是触发一次,最大读32m,所以,在我的模拟器上,就没办法播放大于32m的文件

请问一下高人,是不是高通的模拟器有问题?
我的程序如下
急切盼望高人解答一下,非常感谢

nErr = ISHELL_CreateInstance(pMe->a.m_pIShell,AEECLSID_MEDIAPCM,(void **)&pMe->pIMedia);
if (SUCCESS != nErr)
return FALSE;


ISHELL_CreateInstance(pMe->a.m_pIShell,AEECLSID_SOURCEUTIL,(void **)&pMe->psu);

ISOURCEUTIL_SourceFromAStream(pMe->psu,(IAStream *)pMe->pIFile,&pMe->pISource);

/*
MEMSET(&ws, (int)0, sizeof(ws));
ws.wSize= sizeof(ws);
ws.clsMedia= AEECLSID_MEDIAPCM;
ws.wChannels= 2;
ws.dwSamplesPerSec= 11025;//44100;
ws.wBitsPerSample= 16;
ws.bUnsigned= TRUE;
*/


md.clsData= MMD_ISOURCE;// pDatais ISource
md.pData= (void *)pMe->pISource;
md.dwSize= 0;
md.dwStructSize= sizeof(md); // Size of AEEMediaDataExstructure
md.dwCaps= 0; // What capabilities to enable. 0 means all.
md.bRaw= FALSE; // Is this Raw data? Set it to no (FALSE)
md.dwBufferSize= 0; // Internal buffer size. 0 means use default.
md.pSpec= NULL; // Valid only for raw data
md.dwSpecSize= 0; // Valid only for raw data
md.bRaw = FALSE; // Is this Raw data? Set it to yes (TRUE)
md.dwBufferSize = 0; // Internal buffer size. 0 means use default.
md.pSpec = &ws; // Raw media data encoding specifications
md.dwSpecSize = sizeof(ws); // Size, in bytes, of the specifications


nErr = IMEDIA_SetMediaDataEx(pMe->pIMedia, &md,1); // Set the media source
if (SUCCESS != nErr)
return FALSE;

nErr = IMEDIA_Play(pMe->pIMedia);
if (SUCCESS != nErr)
return FALSE;
...全文
343 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xf_pan 2009-06-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 melody_zyp 的回复:]
我最近也在看这个 不会弄
大家谁做过brew流媒体 麻烦讲的详细一点 最好贴点代码出来 呵呵 先谢过大家了~!
[/Quote]
xf_pan 2009-06-05
  • 打赏
  • 举报
回复
能讲讲,你这个程序,换成播放服务器文件,,具体该怎么改ISource吗
melody_zyp 2009-03-18
  • 打赏
  • 举报
回复
我最近也在看这个 不会弄
大家谁做过brew流媒体 麻烦讲的详细一点 最好贴点代码出来 呵呵 先谢过大家了~!
dxj1234 2009-02-18
  • 打赏
  • 举报
回复
楼上的,是否真有这么简单一句话?
楼主,我用Raw data方式试了下,好像可以分批读取
cy520k_flr 2009-02-11
  • 打赏
  • 举报
回复
流媒体直接用IMedia_Play就可以放了

765

社区成员

发帖
与我相关
我的任务
社区描述
为移动开发者提供丰富的解决方案、全面的技术下载。本版以游戏、多媒体、高效能等三个技术为核心,为开发者营造一个轻松、高效的学习交流平台。
社区管理员
  • Qualcomm开发
  • 霍大神
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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