自r10以来,MediaPlayer不再在仿真器上工作了?

Reg*_*ais 13 android android-emulator

protected MediaPlayer _mediaPlayer;  

protected void playFromResource(int resId)     
    {     
    if (_mediaPlayer != null)         
        {         
        _mediaPlayer.stop();         
        _mediaPlayer.release();
        }     
    _mediaPlayer = MediaPlayer.create(this, resId);
    _mediaPlayer.start();
    }  
Run Code Online (Sandbox Code Playgroud)

此代码用于在模拟器和设备上正常工作.从一段时间以来(我认为自从我更新到ADT r10以来)它只适用于设备.在仿真器上不再有声音,应用程序在通过时会冻结on _mediaPlayer.release()(第二次调用该函数).我能够从通过更换崩溃保持应用程序stop(),并release()通过reset(),但它并没有解决的主要问题:有在模拟器上没有声音.

日志文件在调用之后显示了一堆这些(仅在模拟器上) start()

03-09 19:14:30.716:WARN/AudioTrack(34):obtainBuffer超时(CPU是否挂起?)0x1afb8 user = 00001e00,server = 00000600

任何线索????

g_p*_*ass 12

我在MacBook Pro上遇到了这个问题,发现我必须在启动模拟器之前关闭蓝牙.


Jan*_*erg 9

我在mac os上也看到了这个问题.在我的情况下,当您为模拟器启用"快照"时会发生这种情况.
http://code.google.com/p/android/issues/detail?id=14953
您必须删除模拟器并创建一个未启用"快照"的新模拟器.


Reg*_*ais 4

看来问题只出现在我的电脑上。我刚刚在另一台电脑上尝试过,效果很好。当我升级到 ADT r10 时,我遇到了一些问题。也许我的开发设置有问题。

  • 经过更多测试后,我发现第二台计算机上的问题与模拟器快照有关。在某些 Windows 更新后,必须重新创建模拟器快照才能使其正常工作。这解决了第二台计算机上的问题。对于第一台计算机,如果我从快照启动模拟器(即使重新创建它),我仍然会遇到问题。如果我从新的模拟器会话开始(没有快照),它工作正常 (3认同)