protected MediaPlayer _mediaPlayer;
protected void playFromResource(int resId)
{
if (_mediaPlayer != null)
{
_mediaPlayer.stop();
_mediaPlayer.release();
}
_mediaPlayer = MediaPlayer.create(this, resId);
_mediaPlayer.start();
}
Dieser Code funktionierte sowohl auf dem Emulator als auch auf den Geräten einwandfrei. Seit einiger Zeit (ich denke, es ist seit ich auf ADT r10 aktualisiert) es funktioniert nur auf Geräten. Auf dem Emulator gibt es keinen Ton mehr und die Anwendung friert ein, wenn sie durch on _mediaPlayer.release()
(das zweite Mal, wenn die Funktion aufgerufen wird). Ich konnte die Anwendung vor dem Absturz bewahren, indem ich die stop()
y release()
par reset()
aber das Hauptproblem ist damit nicht gelöst: Es gibt keinen Ton auf dem Emulator.
die Protokolldatei zeigt mir eine Reihe von diesen (nur auf dem Emulator) direkt nach dem Aufruf von start()
03-09 19:14:30.716: WARN/AudioTrack(34): obtainBuffer timed out (ist die CPU ausgelastet?) 0x1afb8 user=00001e00, server=00000600
Irgendwelche Anhaltspunkte ????