我遇到一个问题,即使音频文件确实存在,MediaPlayer.create 方法偶尔也会返回 null。事实上,如果我将 create 调用放入 while 循环中,媒体播放器最终将创建成功。这似乎只发生在我的手机(运行 2.1 的 HTC Hero)上,而从未在模拟器中发生。
这只是手机的问题吗?或者我应该有不同的方式来播放这些音频文件?
请注意,我想动态加载它们,即我正在调用 getIndentifer。如果有更好的动态播放方式,请告诉我。
public void playAudio(String audioFile){
//instance variable of type MediaPlayer
_player = null;
while(_player == null){
_player = MediaPlayer.create(_context, getResources().getIdentifier(audioFile, "raw", _context.getPackageName()));
}
_player.start();
}
Thanks.
声音池(Docs http://developer.android.com/reference/android/media/SoundPool.html)可能是需要考虑的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)