我使用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