动态更改 src 时从代码播放本地视频 Phonegap + javascript
Play local video from code when dynamically change src Phonegap + javascript
当我尝试从 javascript 编码我的视频标签播放 (.play()) 时,我遇到了这个问题,我正在使用 Phonegap 和 JQueryMobile。
这是我的视频播放器页面。
<div data-role="page" id="page-reproduccion" data-theme="b">
<div data-role="content">
<video id="reproductor" autostart>
</video>
</div>
</div>
而且这个方法是为了改变src。
var videoPlayer = $('#reproductor');
videoPlayer.bind('loadeddata', function(){
console.log('Datos cargados');
});
videoPlayer.bind('ended', function(){
console.log('Fin del video!');
});
videoPlayer.bind('canplay',function() {
console.log("Can Play");
});
videoPlayer.src = listaVideos[indexVideo].ruta_local;
videoPlayer[0].autoplay = true;
videoPlayer[0].load();
videoPlayer[0].play();
我只需要在更改src时,自动自动播放视频。
我是这样写代码的:
videoPlayer.bind('loadeddata', function(){
console.log('Datos cargados');
videoPlayer[0].load();
videoPlayer[0].play();
});
或:
videoPlayer.bind('canplay',function() {
console.log("Can Play");
videoPlayer[0].load();
videoPlayer[0].play();
});
但是不行,我必须点击视频标签上的播放。
注意: 我将此代码放在 "onclick" 事件按钮中并起作用。但是我需要这个自动播放,而无需用户进行任何交互。
谢谢。
这是解决方案:
https://github.com/simplec-dev/AndroidMediaGestureSetting/blob/99df9b5/README.md
这个插件可以:
setMediaPlaybackRequiresUserGesture(false)
当我尝试从 javascript 编码我的视频标签播放 (.play()) 时,我遇到了这个问题,我正在使用 Phonegap 和 JQueryMobile。
这是我的视频播放器页面。
<div data-role="page" id="page-reproduccion" data-theme="b">
<div data-role="content">
<video id="reproductor" autostart>
</video>
</div>
</div>
而且这个方法是为了改变src。
var videoPlayer = $('#reproductor');
videoPlayer.bind('loadeddata', function(){
console.log('Datos cargados');
});
videoPlayer.bind('ended', function(){
console.log('Fin del video!');
});
videoPlayer.bind('canplay',function() {
console.log("Can Play");
});
videoPlayer.src = listaVideos[indexVideo].ruta_local;
videoPlayer[0].autoplay = true;
videoPlayer[0].load();
videoPlayer[0].play();
我只需要在更改src时,自动自动播放视频。
我是这样写代码的:
videoPlayer.bind('loadeddata', function(){
console.log('Datos cargados');
videoPlayer[0].load();
videoPlayer[0].play();
});
或:
videoPlayer.bind('canplay',function() {
console.log("Can Play");
videoPlayer[0].load();
videoPlayer[0].play();
});
但是不行,我必须点击视频标签上的播放。
注意: 我将此代码放在 "onclick" 事件按钮中并起作用。但是我需要这个自动播放,而无需用户进行任何交互。
谢谢。
这是解决方案:
https://github.com/simplec-dev/AndroidMediaGestureSetting/blob/99df9b5/README.md
这个插件可以:
setMediaPlaybackRequiresUserGesture(false)