我有一個與MediaPlayer的服務。從活動我需要更改播放器的音量。有任何想法嗎? P.S.我非常需要你的幫助 P.P.S.對不起,我的英語水平,請Android - 服務,MediaPlayer和setVolume
回答
如果是本地Service
和你沒有迫使它運行到另一個線程,你可以定義一種方法來設置MediaPlayer
的音量,從Activity
綁定到Service
,並直接調用該方法。請參閱「本地服務示例」here,瞭解如何綁定到Service
。一旦綁定到Service
,您可以將收到的IBinder
轉換爲Service
類的實例以使用其方法。
如果不是本地Service
或者如果你已經是在一個單獨的線程中運行,則需要通過Messenger
/Handler
或使用Intent
與Service
溝通。在以前的同一鏈接中有一個「遠程Messenger服務示例」。
這可以幫助你..
protected static void setVolume(int volume) {
currentVolume = volume;
{
if (volume == 1) {
volume = 2;
}
try {
float vol = ((float) volume/CONSTANT.SYSTEM_MAX_VOLUME);
mediaPlayer.setVolume(vol, vol);
} catch (Exception e) {
e.printStackTrace();
}
}
}
另請參閱this
感謝您的快速回復!但是當我必須放置這個代碼,以及如何調用這個方法? – enCrypter
你想在哪裏改變音量? –
檢查這個http://stackoverflow.com/a/11095807/2591002 –
- 1. Android的MediaPlayer的setVolume()則會不工作
- 2. Android MediaPlayer服務
- 3. mediaplayer和服務類
- 4. setVolume使用MediaPlayer API不工作
- 5. Android MediaPlayer服務出錯
- 6. Android服務控制MediaPlayer
- 7. MediaPlayer使用服務
- 8. Android - SurfaceTexture.updateTexImage和MediaPlayer
- 9. 使用服務與MediaPlayer和SoundPool
- 10. Android-列表視圖,服務mediaplayer和布爾標誌
- 11. 服務電話時叫醒電話活動和播放MediaPlayer,Android
- 12. MediaPlayer服務強制關閉
- 13. Android - mediaplayer和通知
- 14. Volume vs setVolume
- 15. AVAudioPlayer setVolume - 如何?
- 16. Android Java - setVolume過去最大1.0f
- 17. Android Mediaplayer
- 18. Android MediaPlayer
- 19. MediaPlayer Android
- 20. 在Android的MP3服務中更改URL MediaPlayer
- 21. Android的音頻流服務:MediaPlayer的錯誤-1004
- 22. 在MediaPlayer服務中播放本地mp3,Android
- 23. Android更新MediaPlayer SeekBar從服務類別的位置
- 24. 創建的MediaPlayer與Android的前景服務
- 25. android服務或MediaPlayer的自定義實現,哪個更好?
- 26. Android MediaPlayer AudioStream AudioFlinger服務器死亡,致命信號11
- 27. Android,我應該爲MediaPlayer提供服務嗎?
- 28. 使用MediaPlayer服務播放下載的文件,Android
- 29. RxJava和Android服務
- 30. Android RemoteExceptions和服務
使用seek bar? –
@Rani,是的,我在Activity中使用了SeekBar。在它的監聽器中,在onStopTrackingTouch()我需要更改MediaPlayer的音量 – enCrypter