【问题标题】:Problems playing sounds with Android MediaPlayer使用 Android MediaPlayer 播放声音时出现问题
【发布时间】:2011-03-17 11:27:49
【问题描述】:

我在使用 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,点击声音再次停止工作,但其他两个播放成功。

有人知道这里发生了什么吗?

【问题讨论】:

  • 您是否收到任何错误消息?可能是 clicksound 太短,无法以您拥有的格式在 2.2 媒体播放器中播放。

标签: android audio media-player


【解决方案1】:

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

protected MediaPlayer _mediaPlayer;  

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      相关资源
      最近更新 更多