这样的问题:我有两个声道录制的视频文件。我试图通过以下代码关闭左声道:
MediaPlayer mp;
....
mp.setVolume(0.f, 1f);
...并且在平板电脑上这项工作很好(右音量通道听起来不错)。但后来我在连接到三星 UE46ES6307U 的 googleTv 上尝试了它,但此代码不起作用,声音关闭。也许它是杜比数字+/杜比脉冲音频的界限?我可以以某种方式以编程方式发现声音通道设备的功能,以及每个通道设置的音量吗?
更新:在这个论坛上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);
}
});
更新:
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 方法无效。
更新2
我尝试播放使用 Vorbis 编解码器编码的 .ogg 音频文件 - 通道关闭良好。但我尝试播放用 mp3、ac3、pcm、aac 编码的视频文件 - 关闭频道的问题仍然存在......我需要关闭视频中的音频频道,但如何解决这个问题,我不知道然而。