我试图理解这个问题:
我有一个带有两个按钮的html5视频:
<video id="test" height="500" width="800" >
<source src="mysrc.mp4">
</video>
<button id='playP'>PLAY Popcorn</button>
<button id='playV'>PLAY html5</button>
在javascript中,我在按钮上添加操作以在特定时间播放视频
我用Popcorn.js库测试一个按钮(因为我在项目中使用它),
popVideo.play(20);
和另一个直接原生html5
htmlVideo.currentTime = 20;
htmlVideo.play();
完整代码:
function playVideo(){
Popcorn(function(){
var popVideo = Popcorn('#test'),
htmlVideo = document.getElementById('test'),
playBtn = document.getElementById('playP'),
layBtnV = document.getElementById('playV');
playBtn.addEventListener('click', function(){
popVideo.play(20);
})
playBtnV.addEventListener('click', function(){
htmlVideo.currentTime = 20;
htmlVideo.play();
})
})
}
playVideo();
当我通过index.html只读取这些代码时,我没有问题。寻求视频正常工作,播放时间为20秒。
问题是当我在浏览器中使用Cordova运行项目时
为此我添加此代码以等待cordova准备好:
function onDeviceReady (){
console.log('device ready');
playVideo();
}
document.addEventListener('deviceready', onDeviceReady, true);
然后在终端我启动应用预览
cordova run browser
然后: 播放按钮工作,除了他们从开始播放视频而不是20秒! 我尝试了很多其他解决方案,即使是在更复杂的项目中,但似乎在使用cordova破坏currentTime操作的应用程序,在Popcorn实例和HTML5本机上...
是否有人遇到过此问题,并为此提供解决方案?
编辑: 事实上,我在ipad上尝试了这个,它的工作原理......所以问题只出现在浏览器预览中...应该是正常的,有了deviceready事件,因为我猜浏览器不是设备..但是这个如果我希望我的应用程序也适用于浏览器,是否可能,以及如何?...