2015-01-21 24 views
1

我使用android.media.MediaPlayer在我的應用程序中播放一些聲音,但是當我按下物理音量按鈕時,它只會改變系統音量(鈴聲音量)。我在谷歌搜索,但我還沒有任何想法。 我使用android.media.MediaPlayer而不是Audiomanger。如何使用手機上的物理音量按鈕更改應用程序的音量?

+0

Google搜索 「機器人寄存器應用體積」,結果是:http://developer.android.com/training/managing-audio/volume-playback .html – 2015-01-21 02:02:52

+0

,但我使用android.media.MediaPlayer不Audiomanger – 2015-01-21 02:07:38

+0

可能重複的[Android - 音量按鈕在我的應用程序中使用](http://stackoverflow.com/questions/2874743/android-volume-buttons-used-in-我的應用程序) – GreyBeardedGeek 2015-01-21 02:10:15

回答

1

給你打電話之前,下面的權利開始播放音樂

setVolumeControlStream(AudioManager.STREAM_MUSIC); 

,並調用完成後

setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE); 

這使你的音量鍵控制所有的音樂流以下,然後重置爲默認行爲(取決於發生了什麼)。

不要忘記在myMediaPlayer.prepare()之前致電myMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC)。如果兩個通話中的STREAM_MUSIC更適合播放的聲音,請將其替換爲其他值。這使您播放的音樂符合系統中設置的音樂音量,該音量現在由音量搖桿控制。

來源:

http://developer.android.com/training/managing-audio/volume-playback.html

http://developer.android.com/reference/android/media/MediaPlayer.html#setAudioStreamType(int)

+0

我試過了。但它不起作用。無論如何謝謝你:) – 2015-01-21 03:36:00

+0

哦。它的工作,謝謝。即使它發生了另一個錯誤,但我必須將這些代碼放到我的應用程序中。 – 2015-01-21 08:22:46

相關問題