4

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

下面的示例代码:

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

提前致谢...

4

2 回答 2

6

确保音量已调高,否则您将听不到任何声音。

通常,不建议在没有任何用户输入的情况下以编程方式调高音量 - 如果音量降低,通常首先是通过用户操作。

但您可以这样做:

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

于 2013-07-12T17:18:02.087 回答
0

您的声音文件不应包含特殊字符,例如_(下划线)等。通过重命名为doubledeep. 它也不应该以Capital Letter.

于 2013-07-12T16:59:27.343 回答