我使用SwipeView(http://cubiq.org/swipeview)在触摸屏设备上创建可滑动的幻灯片。这对图像来说很简单,但我希望在幻灯片中包含Vimeo视频。不幸的是,因为iFrame捕获自己的滑动输入(我相信至少这是发生了什么),一旦你到达视频播放器幻灯片,你不能再从它滑动,除非你点击分页。这是不可接受的。在iPhone上,Vimeo Javascript API .play()函数在视频播放前不起作用
我的解决方案是隐藏视频中某个地方的视频(使用display:none;或者height:0;或者任何其他作品),并在幻灯片中使用触发视频播放的点击事件中的图像。即使视频是隐藏的,播放时也应该全屏播放(至少在iPhone上播放)。
当我在我的桌面浏览器上测试它时,此技术工作正常,但在iPhone上表现异常。出于测试目的,视频正在幻灯片下显示。如果我加载页面并点击幻灯片,它什么都不做。但是,如果我通过点击实际视频播放器播放视频,则一旦视频关闭,我可以通过点击幻灯片再次播放视频。基本上,一旦视频通过播放器播放,我可以通过API播放视频,但不是一次首先使用播放器。
这里是我的代码:
// Append the "hidden" video player to the page
$('.slider-container').append("<div class='mobile-video-slide'><iframe id='slideshow-player' src='//player.vimeo.com/video/81295681?title=0&byline=0&portrait=0&color=8bd4ee&api=1&player_id=slideshow-player' width='500' height='281' frameborder='0' webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div>");
// Get the player object
var iframe = $('#slideshow-player')[0],
player = $f(iframe);
// When the video is ready
player.addEvent('ready', function() {
// Add the click event to the slide
$('#play-video').on('click', function() {
// Play the video
player.api('play');
// Don't jump the page
return false;
});
});
我已经通过测试,该player.ready事件是否正常工作,并在图像的click事件工作正常确定。问题似乎完全在于拨打player.api('play')
。任何帮助,或完成此替代方法将不胜感激。
没错,的iOS不允许录像。无论出于何种原因,通过我们的API,该交互在某个时候会丢失。 –
嘿@BradDougherty,我看到与Android和Chrome浏览器(4.4.2)中描述的内容完全相同的行为,这是一个已知问题吗?在iOS上没有解决这个问题呢? – RwwL
想象一下,有一部电影上的网站,下载立即开始,因为您将其分配给自动播放。用户在海外,下个月他们的手机账单是25,000美元。 – 2016-03-25 16:05:26