Такая Проблема: У меня есть видеофайл, записанный с двумя звуковыми каналами. Я попытался отключить левый звуковой канал этим кодом:
MediaPlayer mp;
....
mp.setVolume(0.f, 1f);
... и на планшете это работает хорошо (правый канал громкости звучит хорошо). Но затем я попробовал это на googleTv, который я подключаю к Samsung UE46ES6307U, и этот код не работает, звук отключается. Может быть, это связано с аудио Dolby Digital Plus / Dolby Pulse? Могу ли я как-то программно узнать, какие у устройства звуковые каналы и какая громкость в каждом настроенном канале?
Обновление: на этом форуме http://www.googletvforum.org/forum/logitech-revue/375-audio-problems-logitech-revue.html в одном из ответов такое сообщение: «Logitech еще не придумала, как передать многоканальный звук через 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
Пробовал воспроизводить аудиофайл .ogg, закодированный кодеком Vorbis - каналы переключаются хорошо. Но пробовал проигрывать видеофайлы в кодировке mp3, ac3, pcm, aac - а проблема с отключением каналов осталась... Мне нужно отключить аудиоканалы в видео, но как решить эту проблему не знаю все же.