我目前正在制作一个播放视频的应用,一些原生的,一些HTML5。对于原生视频,我使用ExoPlayer播放视频,但有些来源不提供原始视频文件,因此必须在WebView中播放HTML5视频。所有视频都会在音频静音的情况下开始播放,如果用户取消静音,我会获得音频焦点。这适用于ExoPlayer视频,但一旦视频播放开始,WebView就会获得音频焦点。
有没有办法防止这种行为,而只是在视频取消静音时才获得音频焦点?
你试过abandonAudioFocus()吗?我会尝试在播放开始时实现这一点,然后在他决定取消静音时请求requestAudioFocus()。
<video id="myPlayer" controls muted>
<source src="Your audio source" type="video/mp4">
Your browser does not support the video tag.
</video>
muted
关键字将以静音音频启动视频,而controls
将启用html5的播放器控件,用户可以取消静音。
如果你不想使用html的播放器控件。然后你可以从android执行以下代码,以便在你想要的时候取消静音
取消静音
String s = "var video = document.getElementById('your-video-id');";
s+="video.muted= false";
你可以用这个Answer执行上面的字符串