У меня есть некоторый код, который воспроизводит небольшой звуковой сигнал уведомления из mp3 (включенный в res / raw), который отлично работает на обычных устройствах Android (с различными версиями 2.2 и выше), который я пытаюсь также использовать на Google TV, и это не Кажется, ничего не происходит, без ошибок, просто без звука.
Что я могу делать не так (это должно быть что-то простое, что мне не хватает?).
Вот основной код, который я использую:
private void beep() {
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int result = audioManager.requestAudioFocus(null, AudioManager.STREAM_NOTIFICATION, AudioManager.AUDIOFOCUS_GAIN);
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
try {
Log.d(App.LOG_TAG, "playing the damn beep ****************");
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.beep);
// tried with and without volume
///mediaPlayer.setVolume(1.0f, 1.0f);
mediaPlayer.setLooping(false);
mediaPlayer.start();
} catch (Exception e) {
Log.e("beep", "error: " + e.getMessage(), e);
}
} else {
Log.d(App.LOG_TAG, "could not gain audio focus");
}
}
(ПРИМЕЧАНИЕ. В реальной жизни я не воссоздаю MediaPlayer и AudioManager каждый раз, но я попытался просто поместить все в один метод для целей тестирования. Это прекрасно работает на обычном эмуляторе Android и на обычном Android [телефоне] устройства, но не воспроизводит звук на эмуляторе GTV или Logitech Revue - даже если он отлично попадает в блок MediaPlayer и регистрирует, что он воспроизводит звуковой сигнал.)