开发多媒体播放音轨问题小结覆盖
民生呼声 2021-08-24 13:35 字号: 大 中 小
最近一段时间,在论坛上常看见问于切换音轨和切换声道的问题。在这做一个小结。大家可以转载。让菜鸟收益! 转载时,作者希望在最大程度上保持原有信息!
1、什么是声(音)轨、声道?
在早先的VCD时代,一个媒体文件只有一个音轨。故“音轨”一词不常被人们提及。VCD媒体文件中的伴唱或原唱,只有通过切换左右声道来实现。
音轨是随着DVD而来的“产物”。在DVD(MPEG2格式)媒体文件中,一个音轨来记录一个语种(在VOD中常说的“原唱”和“伴唱”)。
2、如何切换音轨?
在这里,我推荐使用“Morgan Stream Switcher”Filter。
音轨的切换,一般是使用Filter上实现的IAMStreamSelect接口中的Enable方法。
例:
var
obj: IAMStreamSelect;
begin
if eryInterface(IID_IAMStreamSelect, obj) = S_OK then
begin
able(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 音频声道均衡控件”。查看本文来源
双氯芬酸钠的作用新标门窗怎么样
海口男科医院
-
-
专家建议趁“双降”卖股买房
专家建议趁“双降”卖股买房股市与楼市向来相爱相杀,呈现...
2020-07-11 | 民生呼声
-
-
沃神小卡争夺战就是二选一湖人根本没戏
沃神:小卡争夺战就是二选一!湖人根本没戏小卡今夏会选择...
2020-07-09 | 民生呼声
-
-
岁老司机受MIP大热鼓舞却被训练师无情嘲搭配
岁老司机受MIP大热鼓舞 却被训练师无情嘲讽诺维茨基北京时间...
2020-06-01 | 民生呼声
-
-
滑雪有几种姿势影响体验看看改善方法来改正搭配
滑雪有几种姿势影响体验 看看改善方法来改正吧滑雪中常见的...
2020-05-31 | 民生呼声
-
-
金华南社区开展卫生环境清整活动
金华南社区开展卫生环境清整活动为进一步改善社区环境,以...
2019-07-15 | 民生呼声
-
-
省督导组莅商督查农信社改制组建农商行工作
省督导组莅商督查农信社改制组建农商行工作11月15日,以省银...
2019-07-13 | 民生呼声