我正在通过STREAM_ALARM播放声音:
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(context, notificationSoundUri);
mp.setAudioStreamType(AudioManager.STREAM_ALARM);
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
mp.prepare();
在 Android 6 上,这个功能一切正常,直到我尝试使用它。在 Android 6 上,声音不会从开头播放,所以如果我播放短暂的声音,就听不到声音。我尝试使用 seekTo(0)
和其他方式初始化 MediaPlayer。
只有在使用 STREAM_ALARM 时才会发生这种情况(其他流工作正常)。
需要帮助吗?
编辑:我意识到实际上声音是从开始播放的,但音量非常低,并且大约 2 秒后音量增加…您知道如何停用此行为吗?