0

我使用TextureViewMediaPlayer來顯示視頻列表。我想爲所有視頻靜音/取消靜音。什麼是在視頻列表中靜音/取消靜音的最佳方法

什麼問題

問題是,當我使用notifyDataSetChanged()方法則播放視頻被重新加載,因爲onBindViewHolder()notifyDataSetChanged()後執行。

守則靜音/取消靜音圖標的點擊

case R.id.volume_button: 
       if (isToPlaySoundInitially) { 
        volumeKey.setImageResource(R.drawable.unmute_video); 
        isToPlaySoundInitially = false; 
        mVideoView.unMuteVideo(); 

       } else { 
        volumeKey.setImageResource(R.drawable.mute_video); 
        isToPlaySoundInitially = true; 
        mVideoView.muteVideo(); 

       } 
       notifyDataSetChanged(); 
       break; 

方法進行靜音/取消靜音

public void muteVideo() { 
    if (this.mp != null) { 
     mp.setVolume(0, 0); 
    } 
} 

public void unMuteVideo() { 
    if (this.mp != null) { 
     mp.setVolume(1, 1); 
    } 
} 

請建議我怎麼能靜音/取消靜音的列表中的所有項目。

謝謝。

+0

你能發表一些你的代碼嗎? –

+0

我已經更新了我的問題,在適配器 –

+0

中單擊事件的代碼我希望您爲您的物品創建持有人,從此您可以直接觸摸您的物品視圖。 –

回答

0

使用MediaPlayer類的setVolume函數將音量設置爲0. 請勿使用AudioManager類,因爲如果將音量設置爲0,則使用AudioManager,然後將MediaPlayer和VideoView的所有實例的音量設置爲0。

但是,如果您將使用MediaPlayer的setVolume()方法,那麼它只會將該實例的音量靜音。

另外,使用VideoView將音量設置爲0也不容易,因爲VideoView是MediaPlayer類的包裝,只允許訪問MediaPlayer的少數功能。

+0

我想這不是我的問題。我沒有任何問題來關閉和取消靜音特定的視頻。當我將任何一個視頻靜音時,我想將所有視頻的聲音靜音,取消靜音也一樣。如果您有任何疑問,可以查看Facebook應用程序。 –

+0

我希望這可以幫助你:http://stackoverflow.com/a/10896086/7795876 – Hangman