Ответ 1
Похоже, проблема только на моем компьютере. Я просто попробовал его на другом компьютере, и он отлично работает. У меня возникли проблемы при обновлении до r10 ADT. Возможно, что-то не так в моей настройке разработки.
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
Любые подсказки????
Похоже, проблема только на моем компьютере. Я просто попробовал его на другом компьютере, и он отлично работает. У меня возникли проблемы при обновлении до r10 ADT. Возможно, что-то не так в моей настройке разработки.
Я вижу эту проблему и для mac os. В моем случае это происходит, когда вы включаете "моментальный снимок" для эмулятора.
http://code.google.com/p/android/issues/detail?id=14953
Вам нужно будет удалить эмулятор и создать новый без включенного моментального снимка.
У меня была эта проблема на моем MacBook Pro и я обнаружил, что перед запуском эмулятора мне пришлось отключить Bluetooth.
Убедитесь, что вы прочитали схему состояний MediaPlayer и выполняете все запрошенные действия при закрытии объекта MediaPlayer; если вы не остановитесь, reset и повторите его, в следующий раз, когда вы попытаетесь его использовать, он будет находиться в некогерентном состоянии, чтобы вы не могли его запустить.
Подробнее: http://developer.android.com/reference/android/media/MediaPlayer.html