使用Delphi开发多媒体播放音轨问题的FAQ(原创)

2016-02-19 21:30 0 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享使用Delphi开发多媒体播放音轨问题的FAQ(原创)的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - 编程语言 】

最近一段时间,在CSDN和DFW上常看见问于切换音轨和切换声道的问题。在这做一个小结。大家可以转载。让菜鸟收益! 转载时,作者希望在最大程度上保持原有信息!
  
  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 音频声道均衡控件”。
  
  作者: CoolSlob
  Email&MSN: CoolSlob@163.com

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1626320.html

延伸阅读
VB利用高级音频函数编写多媒体播放器 现在使用VB编程的朋友越来越多了.但是如何使用VB来编写播放多媒体文件的播放器呢?本篇将详细的介绍如何利用高级音频函数编写媒体播放器! 内容提要: 了解高级音频函数各参数的意思; 提供一些高级音频函数的命令集; 编写一个简单的多媒体播放器程序; 高级音频函数有...
如果把Java媒体框架(http://java.sun.com/jmf)看作客户端安装的媒体播放机的话,那么这种框架并不是非常激动人心。它只支持少量媒体类型,并且事实上这些媒体类型都被象Windows媒体播放机以及QuickTime等其它的应用程序支持。 但是从内容供应商的观点来看,下面这个事实更加有意义:JMF在所有的Java类型中都可用,这使在客户端上不必...
假如把Java媒体框架(http://java.sun.com/jmf)看作客户端安装的媒体播放机的话,那么这种框架并不是非常激动人心。它只支持少量媒体类型,并且事实上这些媒体类型都被象Windows媒体播放机以及QuickTime等其它的应用程序支持。 但是从内容供给商的观点来看,下面这个事实更加有意义:JMF在所有的Java类型中都可用,这使在客户端上不必...
    在上两期中,我们已完成了“音乐欣赏”主界面及部分分支的制作,我们已做出了能显示图片、动态字幕,声音、视频并有交互功能的多媒体程序,当然,Authorware的功能还远远不止这些,比如,我们还可利用 Authorware 5.1的新增功能,通过菜单命令InsertMediaAnimated GIF(或Flash)导入网页中常见的GIF(或Flash)动画,然后...
  <BGSOUND <EMBED ■ <BGSOUND: <BGSOUND 是用以插入背景音乐,但只适用於 IE,其参数设定不多。如下 <BGSOUND ="your.mid" =true =infinite ="your.mid" 设定 midi 档案及路径,可以是相对或绝对。 =true 是否在音乐档传完之後,就自动播放音乐。true 是,false 否 (内定值)。 =infinite 是否自动反覆播放。LOOP...

经验教程

912

收藏

48
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部