播放HTML5视频时,请防止WebView获得音频焦点



我目前正在研究一个播放视频的应用程序,有些本地,有些HTML5。对于本机视频,我使用Exoplayer播放视频,但是有些消息来源没有为我提供原始视频文件,因此必须在WebView中播放这些视频,为HTML5视频。所有视频都随着音频静音而开始播放,如果用户将视频融合在一起,我就会获得音频焦点。这在范围内的视频中非常有用,但是一旦视频播放开始,Webview就会获得音频焦点。

有什么方法可以防止这种行为,而只有在视频未经启用时才获得音频焦点?

您是否尝试过RasiveAudioFocus((?我将尝试在播放开始时实现此目标,然后在他决定取消静音时请求audiofocus((。

您可以在此处查看官方文档:https://developer.android.com/reference/android/media/media/audiomanager.html#abandonaudiofocus(android.media.media.audiomanager.onaudiofocuschangelistener(

<video id="myPlayer" controls muted>
  <source src="Your audio source" type="video/mp4">
  Your browser does not support the video tag.
</video>

muted关键字将使用Muted Audio启动视频,controls将启用HTML5的播放器控件,用户可以在其中取消音频。

如果您不想使用HTML的播放器控件。然后,您可以在需要时执行以下代码从Android执行静音

时静音

取消静音

String s = "var video = document.getElementById('your-video-id');";
       s+="video.muted= false";

您可以使用此答案执行上面的字符串

最新更新