[英]Android: how to Play Mp3 sound as a notification?
我有一個倒計時,完成后,它將調用以下onFinish
方法:
public void onFinish() {
azanCountdownH1.setText("Get ready now");
}
為了能夠在倒計時結束時播放mp3文件,我將onFinish
方法更改為:
public void onFinish() {
playNotification();
azanCountdownH1.setText("Get ready now");
}
playNotification
看起來完全像這樣:
public static void playNotification(){
MediaPlayer mp = MediaPlayer.create(MyApplicationContext.getAppContext(), R.raw.azan);
mp.start();
}
但這是行不通的!
在Android箴言報對Android-Studio
它顯示如下:
關於該錯誤可能是什么或在哪里的任何建議?
您傳遞給MediaPlayer.create()的Context
為null 。 我建議將Context
傳遞給您的playNotification方法:
public void onFinish() {
playNotification(this);
azanCountdownH1.setText("Get ready now");
}
public static void playNotification(Context context){
MediaPlayer mp = MediaPlayer.create(context, R.raw.azan);
mp.start();
}
嘗試編寫此代碼,希望對您有所幫助。
public void onFinish() {
azanCountdownH1.setText("Get ready now");
playNotification(youractivity.this);
}
public void playNotification(Context context){
MediaPlayer mp = new MediaPlayer();
mp = MediaPlayer.create(context, R.raw.azan);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.start();
}
您可能傳遞了錯誤的Context
所以只需將Activity.this
替換為您的Activity
名稱
public static void playNotification(){
MediaPlayer mediaplayer = MediaPlayer.create(Activity.this, R.raw.azan);
if(mediaplayer == null) {
Log.v(TAG, "Create() on MediaPlayer failed.");
} else {
mediaplayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaplayer) {
mediaplayer.stop();
mediaplayer.release();
}
});
mediaplayer.start();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.