Использование MediaPlayer для воспроизведения звукового сигнала уведомления на Google TV - PullRequest
2 голосов
/ 12 марта 2012

У меня есть некоторый код, который воспроизводит небольшой звуковой сигнал уведомления из 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 и регистрирует, что он воспроизводит звуковой сигнал.)

Ответы [ 2 ]

0 голосов
/ 11 апреля 2013

У меня была такая же проблема. По какой-то причине, похоже, что файлы должны быть в формате ogg. Я пробовал .mp3, и несколько версий .wav. Даже документы для разработчиков GTV (https://developers.google.com/tv/android/docs/gtv_media_formats#StandardFormats) говорят, что .mp3 в порядке.

My HiSense Pulse Google TV воспроизводит файлы, только если они являются файлами .ogg.

Этот онлайн-конвертер работает: http://media.io/

0 голосов
/ 14 марта 2012

Вы включили звук уведомлений в Настройки-> Изображение и звук -> Звуки уведомлений-> Звуки-> По умолчанию?

...