我遇到一个问题,偶尔MediaPlayer.create方法将返回null,即使音频文件肯定存在。实际上,如果我将调用create创建为while循环,最终将成功创建媒体播放器。这似乎只发生在我的手机上(HTC Hero运行2.1)而且从未出现在模拟器中。
这只是手机的问题吗?或者我应该以不同的方式播放这些音频文件?
请注意,我想动态加载它们,这是因为我正在调用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();
}
感谢。