簡體   English   中英

iPhone與iPad /瀏覽器上的HTML5內聯視頻

[英]HTML5 inline video on iPhone vs iPad/Browser

我創建了一個HTML5視頻播放器(非常簡單),可以在iPad和瀏覽器上完美運行。

然而,當我在iPhone上打開它時,我只得到一個播放按鈕,當按下該按鈕時,在我的所有東西之上打開一個新窗口上的原生視頻播放器。

這意味着我無法訪問我的自定義控件和時間跟蹤(用Javascript編寫),因為視頻現在正在運行。

有沒有辦法覆蓋蘋果對iphone上的HTML5視頻的控制,讓它像在ipad上一樣工作?

干杯

對,

我無處可去,並向Apple提出了一個錯誤。

幾個星期后,他們回到我身邊,非常簡單地說,我應該在HTML上的視頻標簽中添加“webkit-playsinline”,並在UIWebView上添加“allowsInlineMediaPlayback”屬性。

所以最后,這就是它的樣子:

HTML

<video id="player" width="480" height="320" webkit-playsinline>

OBJ-C

webview.allowsInlineMediaPlayback = YES;

一切正常:)

希望這對某人有幫助,因為它幾乎沒有文檔記錄,我唯一可以找到“webkit-playsinline”參考的地方是iAds參考,其中說:“僅限iAds JS”。

在iOS Safari實現內聯視頻支持之前,您需要使用Web支持的語言編寫視頻解碼器。 有視頻解碼器,如現有實現百老匯的H.264(視頻), jsmpeg為MPEG1,和ogv.js (視頻和聲音的支持)。

請記住,解碼視頻的過程計算量很大。 預期相對較慢的FPS(±20)。

作為參考,這些人准備了一個可以在iOS設備上播放的視頻演示

在iOS 10+中

Apple在iOS 10上的所有瀏覽器中啟用了屬性playsinline ,因此無縫地工作:

<video src="file.mp4" playsinline>

在iOS 8和iOS 9中

你可以通過瀏覽視頻而不是實際的.play()來模擬播放來解決這個問題。

您可以使用iphone-inline-video來處理播放和音頻同步(如果有的話),並使<video>保持正常工作。

你有一個應用程序創建或這是為移動野生動物園? 如果你有一個應用程序並使用UIWebView你應該設置UIWebView的allowInlineMediaPlayback屬性..

在iOS 10中,在HTML UI視頻標記中添加'playsinline'屬性並未阻止iPhone UIWebview上的全屏播放,直到我還添加了'controls'屬性。 這就是我的工作方式:

<video width="100%" height="240" controls playsinline>
      <source src="movie.mp4" type="video/mp4" >
</video>

當然, _webView.allowsInlineMediaPlayback=YES; 在ViewController中也是如此。

有一些工作,我正在一個庫自動允許這個功能。 然而,直到Apple將野生動物園設置為

webview.allowsInlineMediaPlayback = YES;

那么我們將不得不使用hacks來做同樣的行為。

您可以在這里查看項目: https//github.com/newshorts/InlineVideo ,看看它是否符合您的需求。

只需在config.xml中添加以下內容: <preference name="AllowInlineMediaPlayback" value="true" />否則UIWebView將忽略webkit-playsinline屬性。

您可以通過將其添加到config.xml來輕松地允許此操作:UIWebView應該遵循webkit-playsinline屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM