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

GDforever2

GDforever2

2016-02-19 21:30

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

最近一段时间,在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://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
使用Delphi开发多媒体播放音轨问题的FAQ(原创)

Delphi中多媒体组件使用解析

编程语言 网络编程
Delphi中多媒体组件使用解析

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Delphi处理SQL Server多媒体数据

Delphi
Delphi处理SQL Server多媒体数据

让Word也来播放多媒体

办公软件
让Word也来播放多媒体

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

UbuntuLinux下播放Real多媒体的方法

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
UbuntuLinux下播放Real多媒体的方法

VB环境多媒体压缩数据流播放技术

编程语言 网络编程
VB环境多媒体压缩数据流播放技术

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

delphi编程取得系统界面颜色

delphi编程取得系统界面颜色

风行下载速度慢播放卡 一直缓冲解决方法

风行下载速度慢播放卡 一直缓冲解决方法
下拉加载更多内容 ↓