2012-07-05 176 views
0

我在使用MediaPlayer播放聲音時遇到問題。如果聲音在設備音量爲0時開始播放,則不會播放。我會解釋一下:如果在開始播放聲音的時候,設備的音量= 0,之後我增加音量,但仍然不響。但是,如果音量開始時音量!= 0,則可以將其降低至靜音,然後再次增加,並且仍在播放。Android上使用MediaPlayer的音量問題

下面是代碼:

mpMusic = MediaPlayer.create(context, R.raw.musicmenu_overcast); 
float streamVolume = manager.getStreamVolume(AudioManager.STREAM_MUSIC); 
streamVolume = streamVolume/manager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 
mpMusic.setVolume(streamVolume, streamVolume); 
mpMusic.start(); 
mpMusic.setLooping(true); 

我在做什麼錯?謝謝你們!

回答

1

注意,在這裏,有2種聲級:

  • 的STREAM量
  • 播放器的音量

如果設置了播放器的音量爲 「0」,不管是什麼STREAM音量的值是,您將永遠不會聽到任何聲音...... 例如,如果您將PLAYER音量設置爲「10」,則會聽到音樂的音量爲STREAM音量的10%。

就你而言,當STREAM音量爲0時,你將音量播放器設置爲「0」......這就是爲什麼你什麼都聽不到。

您確定需要調整播放器的音量嗎?

+0

另一件事,當您使用設備的物理按鈕更改音量時,這是STREAM音量更新。 – devMatt 2012-07-05 11:44:04

+0

好的,就是這樣。我只是這樣設置音量:'mpMusica.setVolume(1,1);'現在音量只服從音量鍵(STREAM),這正是我想要的。謝謝! – WaLi 2012-07-05 11:58:14

0
mpMusic.setLooping(true); 

你正在循環你的聲音,這就是爲什麼它繼續玩。

+0

你不明白。問題是如果MediaPlayer開始播放時音量爲0,則不播放聲音。這意味着,如果我用volume = 0啓動應用程序,然後增加音量,它仍然不會發出聲音 – WaLi 2012-07-05 11:32:30