这样的问题:我有用两个声道录制的视频文件。我尝试通过以下代码关闭左声道:
MediaPlayer mp;
....
mp.setVolume(0.f, 1f);
...并且在平板电脑上效果很好(右音量通道听起来很好)。但后来我在连接到三星 UE46ES6307U 的 googleTv 上尝试了一下,此代码不起作用,声音关闭。
也许它与杜比数字+/杜比脉冲音频有关?我可以以某种方式以编程方式发现设备的声道如何,以及每个声道设置的音量吗?
更新:
在这个论坛上http://www.googletvforum.org/forum/logitech-revue/375-audio-problems-logitech-revue.html http://www.googletvforum.org/forum/logitech-revue/375-audio-problems-logitech-revue.html在其中一条回复中,这样的消息:“罗技尚未弄清楚如何通过 HDMI 传输多通道音频。您必须使用光纤输出。这没关系。”
“你是如何构建 MediaPlayer 的?”
Videoview vv;
...............
vv.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setVolume(0.f, 1f);
}
});
Update:
public class MainActivity extends Activity {
MediaPlayer mp = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (mp != null) {
mp.reset();
mp.release();
}
mp = MediaPlayer.create(this, R.raw.test);
mp.start();
}
public void onTurnOffLeft(View v){
mp.setVolume(0.f, 1.f);
}
public void onTurnOffRight(View v){
mp.setVolume(1.f, 0.f);
}
}
onTurnOffLeft 方法关闭所有声音,onTurnOffRight 方法没有任何效果。
Update2
我尝试播放用 Vorbis 编解码器编码的 .ogg 音频文件 - 通道关闭得很好。但我尝试播放用 mp3、ac3、pcm、aac 编码的视频文件 - 关闭通道的问题仍然存在...我需要关闭视频中的音频通道,但如何解决这个问题,我不知道然而。