使用MediaPlayer在Google TV上播放通知提示音

时间:2012-03-12 02:28:39

标签: android google-tv

我有一些代码可以播放来自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模拟器或罗技Revue上没有声音 - 即使它确实进入MediaPlayer块并记录它正在播放蜂鸣声。)

2 个答案:

答案 0 :(得分:0)

您是否在设置中启用了通知声音>图片&声音 - >通知声音 - >声音 - >默认?

答案 1 :(得分:0)

我遇到了同样的问题。无论出于何种原因,文件看起来都需要采用ogg格式。我试过.mp3和几个版本的.wav。即使是GTV开发文档(https://developers.google.com/tv/android/docs/gtv_media_formats#StandardFormats)也说.mp3没问题。

我的HiSense Pulse Google TV只播放文件,如果它们是.ogg文件。

此在线转换器似乎有效:http://media.io/