在视频列表中静音/取消静音的最佳方法是啥
Posted
技术标签:
【中文标题】在视频列表中静音/取消静音的最佳方法是啥【英文标题】:What is the best approach to mute/unmute sound in list of videos在视频列表中静音/取消静音的最佳方法是什么 【发布时间】:2017-04-25 07:00:33 【问题描述】:我正在使用TextureView
和MediaPlayer
显示视频列表。我想为所有视频静音/取消静音。
有什么问题
问题是当我使用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);
请建议我如何将列表中所有项目的声音静音/取消静音。
谢谢。
【问题讨论】:
你能发布一些你的代码吗? 我已经用适配器中的点击事件代码更新了我的问题 我希望你为你的项目创建一个持有人,你可以直接触摸你的项目视图。 是的,但我必须在单击任何一项时为所有项静音。喜欢在 Facebook 中 【参考方案1】:使用 MediaPlayer 类的 setVolume 函数将音量设置为 0。 不要使用 AudioManager 类,因为如果使用 AudioManager 将音量设置为 0,那么它会将所有 MediaPlayer 和 VideoView 实例的音量设置为 0。
但是,如果您将使用 MediaPlayer 的 setVolume() 方法,那么它只会静音该实例的音量。
使用 VideoView 也不容易将音量设置为 0,因为 VideoView 是 MediaPlayer 类的包装器,只允许访问 MediaPlayer 的一些功能。
【讨论】:
我认为这不是我的问题。我对特定视频静音和取消静音没有任何问题。当我将任何一个视频静音时,我想为所有视频静音,取消静音也是如此。如果您有任何疑问,可以查看 Facebook 应用程序。 希望对您有所帮助:***.com/a/10896086/7795876以上是关于在视频列表中静音/取消静音的最佳方法是啥的主要内容,如果未能解决你的问题,请参考以下文章
Swift 3:如何在使用 AVFoundation 录制视频期间将麦克风静音/取消静音
Objective-C:在 iOS 上使用 AVFoundation 录制视频时静音/取消静音