簡體   English   中英

Android:如何播放Mp3聲音作為通知?

[英]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()的Contextnull 我建議將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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM