使用Android MediaPlayer播放声音时出现问题

时间:2011-03-17 11:27:50

标签: android audio media-player

我在使用Android MediaPlayer播放声音时遇到了一些奇怪的问题。

在我的View构造函数中,我这样做:

    clickSound = MediaPlayer.create(context, R.raw.ggclick);
    rightSound = MediaPlayer.create(context, R.raw.right);
    wrongSound = MediaPlayer.create(context, R.raw.wrong);

然后当我想播放声音时:

if(prefs.getBoolean("playClick", true))
    clickSound.start();

这些文件都是非常短的WAV文件,这曾经有用。我最近将手机升级到2.2(FRG83G),我认为这是clickSound停止工作的时候。其他两个仍在工作。

我尝试将咔嗒声转换为ogg,然后三个都工作了。为了保持一致性,我将另外两个切换到ogg,再次点击声音停止工作,但其他两个成功播放。

有谁知道这里发生了什么?

2 个答案:

答案 0 :(得分:2)

这是我从原始资源播放声音的功能:

protected MediaPlayer _mediaPlayer;  

public void playFromResource(int resId)     
     {
     if (_mediaPlayer != null)
         {
         _mediaPlayer.reset();
         }
     _mediaPlayer = MediaPlayer.create(this, resId);
     _mediaPlayer.start();
     } 

答案 1 :(得分:1)

如果您只是拍摄非常短的样本(不是歌曲或长曲目),并且不需要在旅途中操作它们,则应该使用SoundPool。