Android MediaPlayer在某些设备上无法播放声音

时间:2013-07-12 16:56:34

标签: android android-mediaplayer

我为我的应用程序发出了一声简单的警报声。但问题是声音是在某些设备上播放的,而在其他设备上则不是。

以下示例代码:

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文件。

提前致谢...

2 个答案:

答案 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开头。