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): истекло время ожидания буфера получения (есть
ЦП привязан?) 0x1afb8 пользователь = 00001e00, сервер = 00000600
Какие-нибудь подсказки ????