iframe嵌入archive.org平台游戏无声音问题技术咨询
故障原因
嵌入游戏无声音是两个限制共同导致的:
- 现代浏览器默认对跨域iframe执行严格的自动播放拦截,未显式授权的跨域内容无法自动输出音频
- 原有iframe代码缺少权限声明字段,没有告知浏览器允许嵌入内容调用音频播放、自动播放相关能力
修复方法
给iframe标签补充allow权限属性即可,修正后的可直接运行代码如下:
<body> <iframe src="https://archive.org/embed/arcade_ckong" width="560" height="384" frameborder="0" webkitallowfullscreen="true" mozallowfullscreen="true" allowfullscreen allow="autoplay; fullscreen; gamepad; speaker-selection" > </iframe> </body>
配置说明
autoplay:核心权限,显式授予嵌入内容音频自动播放权限,解除浏览器对跨域内容的音频拦截speaker-selection:允许嵌入内容选择音频输出设备,避免部分浏览器下音频路由异常导致的无声问题gamepad:适配街机游戏的手柄操作支持,避免后续出现操作识别异常
补充说明:如果代码更新后首次加载仍无声音,点击一次游戏画面区域即可触发音频播放。部分严格安全策略下的浏览器要求必须存在用户主动交互行为,才会放开跨域内容的音频播放权限,这是浏览器底层安全限制,无法通过纯代码配置绕过。
内容的提问来源于stack exchange,提问作者Ricardo Peveri
相关产品推荐
相关产品推荐

