ios
  • cordova
  • video
  • 2014-12-22 313 views 1 likes 
    1

    我正在部署到iOS和Android的phonegap應用程序。應用中有大量視頻,其中一些包含在包中,其他包則在本地下載並存儲在後臺。在連續播放16個視頻之後,第17個視頻會通過播放按鈕與播放按鈕一起呈現視頻div。連續播放16個視頻後視頻停止播放

    我試過改變不同的東西,但沒有成功。下面是一些生成視頻格的代碼:

     html += "<video id='popoverVideo' width='"+(globals.screenWidth-h)+"' height='"+(globals.screenHeight-h/2)+"' style='position:absolute;background:black;left:"+left+"px;top:"+top+"px;' controls='true' webkit-playsinline>"+ 
           "<source src='"+globals.wwwRootPath+video.path+"' type='video/mp4' codecs='avc1, mp4a'>"+ 
           "Your browser does not support the video tag."+ 
          "</video>"; 
    

    這個問題只發生在iOS版本中。 Android版本沒有連續播放超過16個視頻的問題。

    我也檢查了一個開發者,我有工作,他的視頻編解碼器的另一個PhoneGap的應用程序是比我很大的不同,他的應用程序具有完全相同的問題,他只有包含在應用4個視頻。您可以通過16次循環播放這四個視頻,一次只播放一個視頻,在第17次播放時播放按鈕。

    另一個重要的注意事項是,如果您爲應用程序創建背景並將其帶回前臺,重置您的計數,您可以連續播放另外16個視頻,甚至可以播放其中的第17個視頻按鈕會自動開始播放與應用程序是foreground。也許我需要在視頻停止時強制緩存發佈?

    +0

    會發生這種情況在什麼版本的iOS?此外,它是否發生在模擬器,或只是設備? –

    回答

    1

    確保您以下適用於移動設備的最佳實踐:在小型設備,如機頂盒

    4.8.10.16 Best practices for authors using media elements

    播放音頻和視頻資源 箱或手機往往是受限於設備中有限的硬件資源 。例如,設備可能只支持三個同時播放的視頻。出於這個原因,它是一個很好的做法, 釋放資源,他們這樣做打, 當媒體元素持有或者通過非常小心有關刪除所有引用 元素,並允許它被垃圾收集,或者,甚至更好,由 刪除元素的src屬性和任何源元素 後代,並調用元素的load()方法。

    下面是一些代碼,將做到這一點:

    var video = document.getElementById('videoID'); 
    var child = null; 
    
    while(child = video.firstChild) { 
        if(child.nodeName === 'SOURCE') { 
         child.src = ''; 
        } 
    
        video.removeChild(child); 
    } 
    
    video.load(); 
    
    相關問題