一部のデバイス (Samsung Galaxy S2、Acer A510) では非常にうまく動作するコードがありますが、他のデバイス (HTC One S) では MediaPlayer がクラッシュします。問題を引き起こすコード:
if(file.exists()) {
mediaPlayer = MediaPlayer.create(this, Uri.fromFile(file));
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setVolume(100, 100);
mediaPlayer.start();
};
onPrepared コールバックまたは mediaPlayer を作成する他の方法で開始しようとしました。それらはすべて、HTC 以外のデバイスで正常に動作します。logcat エラー:
06-20 15:33:13.810: W/AudioSystem(6021): AudioFlinger server died!
06-20 15:33:13.810: W/IMediaDeathNotifier(6021): media server died
06-20 15:33:13.810: E/MediaPlayer(6021): error (100, 0)
06-20 15:33:13.810: E/MediaPlayer(6021): Mediaserver died in 16 state
06-20 15:33:13.820: I/ServiceManager(6021): Waiting for service media.audio_flinger...
06-20 15:33:14.821: E/MediaPlayer(6021): Error (100,0)
誰か提案があれば、私はそれらを感謝します。