javascript - iOS Safari上的YouTube API,使用自定义控件以编程方式静音/取消静音?

标签 javascript ios youtube youtube-api

我的目标是使用 YouTube iFrame API 在视频滚动到 View 时播放、静音。这部分我工作得很好。

在移动设备上不起作用的是试图给用户一个按钮来静音/取消静音视频。因此,视频开始播放,然后我们希望为用户提供打开声音的选项。不幸的是,移动设备上的 youtube 控件没有显示该选项。另外,调用mute()unMute()在视频上,在手机上,效果为 0。不过,我的静音/取消静音按钮可以在桌面上使用,所以我知道这不是语法问题。

我在这里找到了各种答案,但它们都比较老,并且已经阅读了有关视频规则的 webkit 规范。我 mute()通话前的视频play()为了让他们以编程方式开始在 iOS 上滚动播放。但是,一旦它开始播放,是否有任何神奇的事件组合可以告诉 iOS 让用户的自然点击交互影响播放器?

规则说音频必须由用户控制,所以如果用户单击某些东西以使视频静音/取消静音,我如何向 webkit 传达它可以?

最佳答案

我依赖于 YouTube API isMuted()方法,它返回一个 bool 值,以决定何时静音/取消静音视频。记录 isMuted() 的值后,不过,我发现由于某种原因在移动设备上它并不总是正确的。因此,视频将被静音,但仍会返回 false,因此不会触发我的取消静音功能。

解决方案是不信任他们的 API,只需切换 is-muted当用户点击按钮静音/取消静音时,我的视频包装器上的类。它现在可以在桌面和 iOS Safari 上正常工作。

关于javascript - iOS Safari上的YouTube API,使用自定义控件以编程方式静音/取消静音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46180051/

相关文章:

iphone - 如何从 iPhone 查看日志?

ios - 如何在不阻塞主线程的情况下等待网络调用在 iOS 上返回数据?

ruby - Youtube Api,无法上传视频 ruby

javascript - Angularjs 单选按钮未选择名称

javascript - InDesign 导出文件时如何使用 javascript 更改自动文件名编号的位置?

javascript - CSS 否定 : Displaying specific elements in a hidden Element?

javascript - 如何获得YouTube视频的AspectRatio(或方向)

javascript - addEventListener 的闭包应该放在哪里?

iOS 存折序列号 : What characters are valid? 最大长度是多少?

youtube - 较大的YouTube缩略图