MediaPlayer
Android では、アラーム トーンを再生するインスタンスを作成しようとしています。alarmmanagerがあることに気づきましたが、この時点では、わざわざサービスを作成することに興味はありません。今のところ、ユーザーのデフォルトのアラーム音の読み込み、ループ、再生を取得したいと思います。残念ながら、以下のコードがエラーを引き起こしています ( to to はタイプミスではありません):
メディア プレーヤーを作成できません
このエラーの直前に、次のデバッグ ステートメントがログに記録されます。
クライアント側でファイルを開くことができませんでした。サーバー側で試してみてください
アラートへのパスをログに記録したところ、次のようにリストされています/system/alarm_alert
。現在、このコードは Android 2.2 API レベル 8 を対象としたエミュレータでのみ実行されています。このエラーの原因となる以下のコードの問題点は何ですか?
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
if (alert == null) {
// alert is null, using backup
alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
if (alert == null) {
// I can't see this ever being null (as always have a default
// notification) but just incase alert backup is null, using 2nd backup
alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
}
}
Log.d("alertPath", alert.getPath());
MediaPlayer mediaPlayer;
setVolumeControlStream(AudioManager.STREAM_ALARM);
try {
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(this, alert);
mediaPlayer.prepare();
mediaPlayer.setLooping(true);
mediaPlayer.start();
} catch (IOException e) {
} catch (Exception e) {
Log.d("mp", e.getMessage());
}