制作 HTML5 视频的 YouTube iframe 音频
Make YouTube Iframe Audio Of HTML5 Video
我希望能够将视频作为视觉对象,并且我希望将视频静音并使用 YouTube 视频作为其音频。这是我的:
<video width="320" height="240" controls muted>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
这只会让视频静音播放。现在我想添加这样的 YouTube 视频:
<iframe width="1" height="1"
src="https://www.youtube.com/embed/tgbNymZ7vqY">
</iframe>
而且我希望在用户播放 HTML5 视频时播放此 YouTube 视频,并且在用户暂停视频时 YouTube 视频音频停止。基本上我希望 YouTube 视频成为 HTML5 视频的音频,而另一个 HTML5 视频应该只是静音并且只是可视的。
这应该为您指明正确的方向:YouTube iframe API: how do I control an iframe player that's already in the HTML? -- 特别是所选答案的 JSFiddle。
通过获得 iframe youtube 播放器的控制权,您可以简单地使 iframe 不可见,并link您的视频和 youtube 视频的暂停按钮。
编辑:
根据要求,我再次澄清了……:)
https://jsfiddle.net/ericpool/yrkpem4a/11/
这是经过编辑的 JSFiddle,它应该向您展示这是如何实现的。即,我在播放器的播放暂停函数中添加了事件监听器来连接callPlayer函数:
var vid = document.getElementById('myVideo')
vid.play() //play video on start
vid.onpause = (event) => {
callPlayer('whateverID', 'pauseVideo')
console.log('paused')
}
vid.onplay = (event) => {
callPlayer('whateverID', 'playVideo')
console.log('played')
}
我不确定您为什么需要这样做,但请注意,由于音频和视频是分开的,您可能 运行 会遇到同步问题。
我希望能够将视频作为视觉对象,并且我希望将视频静音并使用 YouTube 视频作为其音频。这是我的:
<video width="320" height="240" controls muted>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
这只会让视频静音播放。现在我想添加这样的 YouTube 视频:
<iframe width="1" height="1"
src="https://www.youtube.com/embed/tgbNymZ7vqY">
</iframe>
而且我希望在用户播放 HTML5 视频时播放此 YouTube 视频,并且在用户暂停视频时 YouTube 视频音频停止。基本上我希望 YouTube 视频成为 HTML5 视频的音频,而另一个 HTML5 视频应该只是静音并且只是可视的。
这应该为您指明正确的方向:YouTube iframe API: how do I control an iframe player that's already in the HTML? -- 特别是所选答案的 JSFiddle。
通过获得 iframe youtube 播放器的控制权,您可以简单地使 iframe 不可见,并link您的视频和 youtube 视频的暂停按钮。
编辑: 根据要求,我再次澄清了……:)
https://jsfiddle.net/ericpool/yrkpem4a/11/
这是经过编辑的 JSFiddle,它应该向您展示这是如何实现的。即,我在播放器的播放暂停函数中添加了事件监听器来连接callPlayer函数:
var vid = document.getElementById('myVideo')
vid.play() //play video on start
vid.onpause = (event) => {
callPlayer('whateverID', 'pauseVideo')
console.log('paused')
}
vid.onplay = (event) => {
callPlayer('whateverID', 'playVideo')
console.log('played')
}
我不确定您为什么需要这样做,但请注意,由于音频和视频是分开的,您可能 运行 会遇到同步问题。