我为我的应用程序发出了一声简单的警报声。但问题是声音是在某些设备上播放的,而在其他设备上则不是。
以下示例代码:
public void audioPlayer() { // leshon tingull kur ka kolision //Armando 8/7/2013
MediaPlayer beep_alert = MediaPlayer.create(Maps.this,R.raw.double_beep);
try {
beep_alert.start();
} catch (Exception e) {
e.printStackTrace();
}
}
没有显示错误,它只是播放nexus 4
,但它在nexus 7
中播放正常。
出了什么问题?
double_beep是一个mp3文件。
提前致谢...
答案 0 :(得分:5)
确保音量正常,否则您将听不到任何声音。
通常情况下,并不建议在没有任何用户输入的情况下以编程方式关闭音量 - 如果音量不足则通常首先通过用户操作。
但是你可以这样做:
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setStreamVolume(AudioManager.STREAM_MUSIC, am.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);
这将最大化STREAM_MUSIC
。还有许多其他方法可以控制/改变音量。
请仔细阅读并熟悉控制音量:http://developer.android.com/training/managing-audio/volume-playback.html
答案 1 :(得分:0)
您的声音文件不应包含_
(下划线)等特殊字符。通过重命名为doubledeep
来尝试。此外,它不应以Capital Letter
开头。