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()
03-09 19: 14: 30.716: WARN/AudioTrack (34): getBuffer тайм-аут (есть CPU привязан?) 0x1afb8 user = 00001e00, server = 00000600
Любые подсказки????