社区
多媒体/流媒体开发
帖子详情
DShow中WAV播放的问题~
KevinYuen
2009-10-23 11:20:08
我做了一个简单的流媒体播放器,使用的是RenderFile接口来播放URL媒体文件,文件格式为(.wav)。
不过在有些机器上会出现程序假死的现象,有朋友告诉我是因为RenderFile使用了一个不可靠的第三方解码器。
我的问题就是如何使用系统自带的标准解码器来对.wav等这样的媒体进行播放,避免上述中的假死现象。
我刚开始接触DShow,希望各位大侠能够说明的详细点,最好有代码段,比如查找标准wav filter的过程和播放代码。
...全文
90
10
打赏
收藏
DShow中WAV播放的问题~
我做了一个简单的流媒体播放器,使用的是RenderFile接口来播放URL媒体文件,文件格式为(.wav)。 不过在有些机器上会出现程序假死的现象,有朋友告诉我是因为RenderFile使用了一个不可靠的第三方解码器。 我的问题就是如何使用系统自带的标准解码器来对.wav等这样的媒体进行播放,避免上述中的假死现象。 我刚开始接触DShow,希望各位大侠能够说明的详细点,最好有代码段,比如查找标准wav filter的过程和播放代码。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
koople
2009-10-28
打赏
举报
回复
智能连接有时候会出点问题的.. 你要好好看看graph
koople
2009-10-28
打赏
举报
回复
说明是你这两个filter 之间连接缺乏某个转换器,有些机子上正好有这个解码器.. 有些没有!
KevinYuen
2009-10-28
打赏
举报
回复
这个现象指在某些机器上不定时出现,比如在清空临时文件后,会在第一次播放的时候出现,后面就正常了~而有些机器没有这种问题。
我问一下,需要不需要IAsyncReader?
koople
2009-10-28
打赏
举报
回复
你拿ge 把 这两个filter 在ge中连一下不就知道问题出在何处了么? 可能中间还要加转换器!
KevinYuen
2009-10-28
打赏
举报
回复
我用手动的方式,发现问题出现在 Connect()方法:
[code=C/C++
hr = CoCreateInstance( CLSID_DSoundRender, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void **)&pDSoundRenderer);
if( SUCCEEDED( hr ) )
{
hr = m_pGraph->AddFilter( pDSoundRenderer, L"Audio Renderer" );
if( SUCCEEDED( hr ) )
{
IPin *pFileOut = NULL, *pWAVIn = NULL;
if( SUCCEEDED( GetPin( pInputFileFilter, PINDIR_OUTPUT, &pFileOut ) ) )
{
if( SUCCEEDED( GetPin( pDSoundRenderer, PINDIR_INPUT, &pWAVIn ) ) )
{
hr = m_pGraph->Connect(pFileOut, pWAVIn);
if( SUCCEEDED( hr ) )
{
//.....
}
}
}
}
[/code]
在线等待 ~
KevinYuen
2009-10-28
打赏
举报
回复
是不是因为我播放的是URL网络上的歌曲呢?
我没有使用过 IAsyncReader这个,有网友说通过这个检查状态,具体应该如何操作呢,我没有接触过,不知道从哪里下手~有范例或者指导性的东西~分不够我再加,隔行如行山啊~
KevinYuen
2009-10-26
打赏
举报
回复
GE是指什么 全称是什么~
bourbaki
2009-10-26
打赏
举报
回复
graphedit的file菜单下有个connect to remote graph,可以用来查看运行程序的graph
mjh1021
2009-10-26
打赏
举报
回复
GraphEdt
koople
2009-10-23
打赏
举报
回复
你 用GE 把.wav 播放一下 看看 它的graph 是什么样子的!
Composer (精进) 所有可用的命名
课程首先介绍了composer
中
全局属性,-h,-q,-V等等,详细讲解了 show 查看,install安装 require安装 ,update更新 等命令的使用! 课程列表: 01 Composer (精进) 所有可用的命名 概述 02 Composer ...
CH582M,PWM模拟DAC实现
WAV
播放
,FATFS文件
CH582M,PWM模拟DAC实现
WAV
播放
,FATFS文件系统读取TF卡。
c#使用SoundPlayer
播放
wav
格式音频
在winxp下
播放
文件比较大或位率比较高的情况,PlaySync同步
播放
会有
播放
不完全的
问题
。 实现 引用System.Media名称空间下的类SoundPlayer SoundPlayer player = new SoundPlayer(); 方法调用Play(); public void ...
【exp-linux】用aplay直接
播放
音频文件(mp3,
wav
)
// 用audacity 将mp3转换成
wav
格式文件,就可以直接用aplay
播放
了: // aplay
播放
MP3文件是杂音 aplay -l 可以查看音频
播放
设备有哪些 aplay xxx.
wav
用默认设备
播放
aplay -D plughw:1,0 xxx.
wav
// 用指定的...
使用python读取
wav
格式文件
1、
wav
格式文件
WAV
为微软公司(Microsoft)开发的一种声音文件格式,它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持,该...
多媒体/流媒体开发
2,543
社区成员
20,281
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章