Android 2.3.3 の sdcard/music ディレクトリの mp3 を再生するシンプルなメディア プレーヤーを開発しようとしています。問題は、電源ボタンを押すか、デバイスがスリープ状態になると、音楽が停止することです。グーグルで調べ、stackoverflow を検索した結果、ウェイク ロック オプションを使用する必要があることがわかりましたが、何をしても、デバイスがスリープ状態になると音楽が停止します (エミュレーターで F7 を押すと音楽も停止します)。あまりにも長い間これと戦ってきたので、助けを求めることにしました。ご意見をいただければ幸いです。ありがとう。これが私のコードです:
FileInputStream fis = new FileInputStream(songList.get(0));
FileDescriptor fd = fis.getFD();
if (mediaPlayer != null) {
if (mediaPlayer.isPlaying()) {
mediaPlayer.release();
mediaPlayer = null;
}
}
mediaPlayer = new MediaPlayer();
mediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);
mediaPlayer.setDataSource(fd);
mediaPlayer.prepare();
playPauseButton.setImageResource(android.R.drawable.ic_media_pause);
mediaPlayer.seekTo(songPosition);
mediaPlayer.start();
appMsg.setText(songList.get(0));