【问题标题】:Cordova iOS audio and video tag's muted attribute not working?Cordova iOS 音频和视频标签的静音属性不起作用?
【发布时间】:2020-04-10 13:31:32
【问题描述】:
我们有一个 Cordova 应用程序,它呈现一个 HTML 页面,该页面使用音频和视频 HTML 标签来流式传输音频和视频。
在 Cordova 中呈现此页面时,在这些标签上设置静音属性没有任何效果(总是听到声音)。
如果我在 Safari 中(在同一 iOS 设备上)呈现同一页面,则 muted 属性会按预期工作。
任何人都知道为什么静音在科尔多瓦不起作用?已知问题?可能是 Webkit 问题?
【问题讨论】:
标签:
javascript
cordova
audio
html5-video
html5-audio
【解决方案1】:
原来 iosrtc 正在“妨碍”。我最终禁用了音轨,而不是使 html 标签静音。
【解决方案2】:
iosrtc 插件将视频渲染为“模拟”html 元素。不是真正的 html 元素。因此,每次对该元素进行更改时,您都需要使用 cordova.plugins.iosrtc.refreshVideos() 函数本地刷新它。此函数将向原生代码发送命令以刷新原生中UIView 的新属性或更改。
这是我之前使用的一些示例:
$(".muted-btn").on("click", function(){
$("video").prop("muted", true);
cordova.plugins.iosrtc.refreshVideos();
});
即使您导航到另一个页面,如果您不使用refreshVideos() 函数刷新UIView,视频元素也会停留在您的视图中。