protected MediaPlayer _mediaPlayer;
protected void playFromResource(int resId)
{
if (_mediaPlayer != null)
{
_mediaPlayer.stop();
_mediaPlayer.release();
}
_mediaPlayer = MediaPlayer.create(this, resId);
_mediaPlayer.start();
}
该代码过去在模拟器和设备上都能正常工作。一段时间以来(我认为这是自从我更新到ADT r10以来),它仅在设备上有效。在模拟器上,不再有声音,并且当它传递
on _mediaPlayer.release()
(第二次调用该函数)时,应用程序将冻结。通过用stop()
替换release()
和reset()
,我能够防止应用程序崩溃,但是它不能解决主要问题:模拟器上没有声音。在调用
start()
之后,日志文件向我展示了其中的一些文件(仅在模拟器上)有任何线索吗?
最佳答案
我在MacBook Pro上遇到了这个问题,发现在启动模拟器之前必须关闭蓝牙。
关于android - 从r10开始,MediaPlayer不再在仿真器上运行吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5259849/