麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Delphi > 正文

使用Delphi開發多媒體播放音軌問題的FAQ(原創)

2019-11-18 17:57:01
字體:
來源:轉載
供稿:網友

最近一段時間,在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: [email protected]



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 成年人在线免费播放视频 | 欧美激情视频一区二区免费 | 午夜精品久久久久久久久久久久久蜜桃 | 精品欧美一区二区精品久久 | av免播放 | 九九热在线免费观看视频 | 九九热在线免费观看视频 | 亚洲天堂中文字幕在线观看 | 国产精品自拍片 | 极品销魂一区二区三区 | 久草中文网 | 久久久久国产成人免费精品免费 | 最新午夜综合福利视频 | qyl在线视频精品免费观看 | 91精品国产综合久久婷婷香蕉 | 精品三级内地国产在线观看 | 久久国产亚洲视频 | 免费黄色在线电影 | 亚洲午夜视频 | 主人在调教室性调教女仆游戏 | 久久人添人人爽人人爽人人片av | 欧美高清一级片 | 美国一级黄色毛片 | 媚药按摩痉挛w中文字幕 | 成人福利视频网站 | 欧美一级黄色片免费观看 | 日韩视频一区二区三区四区 | 91精品国产成人 | 一区二区三区无码高清视频 | 欧美黄色三级视频 | 久久96国产精品久久久 | 亚洲免费永久 | 成人毛片免费在线 | 久久毛片| 国产午夜精品久久久久久免费视 | 久草在线公开视频 | 色综合狠狠 | 女人a级毛片 | 网站激情| 久久综合一区二区 | 成人午夜视频免费在线观看 |