Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16496500
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:51:07

下载本文示例代码
  1、什么是声(音)轨、声道?  在早先的VCD时代,一个媒体文件只有一个音轨。故“音轨”一词不常被人们提及。VCD媒体文件中的伴唱或原唱,只有通过切换左右声道来实现。  音轨是随着DVD而来的“产物”。在DVD(MPEG2格式)媒体文件中,一个音轨来记录一个语种(在VOD中常说的“原唱”和“伴唱”)。  2、如何切换音轨?  在这里,我推荐使用“Morgan Stream Switcher”Filter。    音轨的切换,一般是使用Filter上实现的IAMStreamSelect接口中的Enable方法。  例: var obj: IAMStreamSelect;begin if Filter.QueryInterface(IID_IAMStreamSelect, obj) = S_OK then begin  obj.Enable(Index{音轨}, AMSTREAMSELECTENABLE_ENABLE);  obj := nil; end;end;  3、如果切换声道?  切换声道,需要获取Audio Renderer Filter上的IBasicAudio接口(提示:神龙卡的IBasicAudio接口在hardware decoder Filter上获取)。  使用该接口的put_Balance方法即可实现切换声道。   传入值说明:-10000 --- 右声道        10000 --- 左声道        0 --- 立体声  4、如何知道媒体文件的音轨数?  一般来说,在播放媒体文件时,都需要File Source -> Splitter.  视Splitter Filter不同。获取的方法了也不尽相同。  比如,有一些MPEG的Splitter,有几个音轨,就会创建几个Audio Output Pin.这种情况,你可以取得该Splitter Filter上的Audio Output Pin的数量(就是音轨数量)还有一些MPEG的Splitter,不论有多少音轨,只会输出一个Audio Output Pin.这种情况,该Splitter上已经实现了IAMStreamSelect接口。调用该接口上的Count方法即可获得音轨数量。  5、引出的问题  在切换声道之后,只有一个音箱发声。推荐使用“TBalncer 音频声道均衡控件”。   1、什么是声(音)轨、声道?  在早先的VCD时代,一个媒体文件只有一个音轨。故“音轨”一词不常被人们提及。VCD媒体文件中的伴唱或原唱,只有通过切换左右声道来实现。  音轨是随着DVD而来的“产物”。在DVD(MPEG2格式)媒体文件中,一个音轨来记录一个语种(在VOD中常说的“原唱”和“伴唱”)。  2、如何切换音轨?  在这里,我推荐使用“Morgan Stream Switcher”Filter。    音轨的切换,一般是使用Filter上实现的IAMStreamSelect接口中的Enable方法。  例: var obj: IAMStreamSelect;begin if Filter.QueryInterface(IID_IAMStreamSelect, obj) = S_OK then begin  obj.Enable(Index{音轨}, AMSTREAMSELECTENABLE_ENABLE);  obj := nil; end;end;  3、如果切换声道?  切换声道,需要获取Audio Renderer Filter上的IBasicAudio接口(提示:神龙卡的IBasicAudio接口在hardware decoder Filter上获取)。  使用该接口的put_Balance方法即可实现切换声道。   传入值说明:-10000 --- 右声道        10000 --- 左声道        0 --- 立体声  4、如何知道媒体文件的音轨数?  一般来说,在播放媒体文件时,都需要File Source -> Splitter.  视Splitter Filter不同。获取的方法了也不尽相同。  比如,有一些MPEG的Splitter,有几个音轨,就会创建几个Audio Output Pin.这种情况,你可以取得该Splitter Filter上的Audio Output Pin的数量(就是音轨数量)还有一些MPEG的Splitter,不论有多少音轨,只会输出一个Audio Output Pin.这种情况,该Splitter上已经实现了IAMStreamSelect接口。调用该接口上的Count方法即可获得音轨数量。  5、引出的问题  在切换声道之后,只有一个音箱发声。推荐使用“TBalncer 音频声道均衡控件”。 下载本文示例代码


Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结Delphi开发多媒体播放音轨问题小结
阅读(80) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~