簡體   English   中英

在Android中播放背景聲音

[英]Playing Background sound in Android

我正在嘗試播放在整個應用程序中運行的背景聲音。 在這里,我有3個活動,並且在MAIN活動啟動時開始發出聲音。 我想要實現這些目標:1)無論活動負載如何,在整個應用程序中連續播放bg聲音。
2)當用戶單擊“聲音關閉”按鈕時,關閉聲音。 3)在應用關閉時停止聲音。

到目前為止,我已經嘗試過使用此代碼來啟動聲音,但是即使關閉了應用程序,它仍可以繼續播放。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    audioPlayer();
}

    boolean isPlayingSound = true;
public void onClickSound(View view) {
    final Button btn1 = (Button) findViewById(R.id.button3);

    if(isPlayingSound){ 
        btn1.setBackgroundResource(R.drawable.sound00);
        isPlayingSound=false;
        audioPlayer(false);/*Sound doesn't stops here*/
    } 
    else{ 
        btn1.setBackgroundResource(R.drawable.sound11);
        isPlayingSound=true;
        audioPlayer(true);
    }     
}

public void audioPlayer(boolean status){  

    MediaPlayer mp = MediaPlayer.create(this, R.raw.bg);
    if(status) {
        mp.start();
    }
    else {
        mp.stop();
    }
}

任何人都可以看看並在這里幫助我。 感謝幫助!!

您可以播放移至“服務”的音頻。 您可以參考ASOP音樂代碼或查看

綁定到啟動服務

如服務文檔中所述,您可以創建已啟動和綁定的服務。 也就是說,可以通過調用startService()來啟動該服務,這將允許該服務無限期運行,並且還可以通過調用bindService()來允許客戶端綁定到該服務。

如果您確實允許啟動和綁定服務,則在啟動服務后,當所有客戶端都解除綁定時,系統不會銷毀該服務。 相反,您必須通過調用stopSelf()或stopService()顯式停止該服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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