我有一些代码可以播放来自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块并记录它正在播放蜂鸣声。)
答案 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/