programing

iPhone vs iPad/Browser HTML5 인라인 비디오

lastcode 2023. 9. 19. 21:11
반응형

iPhone vs iPad/Browser HTML5 인라인 비디오

iPad와 브라우저에서 완벽하게 작동하는 HTML5 비디오 플레이어(아주 간단한)를 만들었습니다.

하지만 아이폰에서 그것을 열면 재생 버튼만 나오는데, 그것을 누르면 내 모든 물건 위에 있는 새 창에서 네이티브 비디오 플레이어가 열립니다.

동영상이 분리되어 실행되므로 사용자 지정 컨트롤 및 시간 추적(Javascript로 작성)에 액세스할 수 없게 됩니다.

애플이 아이폰에서 HTML5 비디오를 제어하는 것을 무시하고 아이패드처럼 작동시킬 수 있는 방법이 있습니까?

건배.

애플에 버그를 제기했습니다.

몇 주 후에 그들은 HTML의 비디오 태그에 "웹킷 플레이 인라인"을 추가하고 "허용"을 추가해야 한다고 저에게 아주 간단하게 말했습니다.UI WebView의 Inline Media Playback" 속성입니다.

결국은 이렇게 보이는군요.

HTML

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

Obj-C

webview.allowsInlineMediaPlayback = YES;

그리고 모든 것이 잘 됩니다 :)

그것은 사실상 문서화되어 있지 않으며 "웹킷 플레이 인라인"에 대한 참조를 찾을 수 있는 유일한 장소는 iAds 참조에 "iAds JS 전용"이라고 적혀 있습니다.

iOS Safari에서 인라인 비디오 지원을 구현하기 전까지는 웹 지원 언어로 비디오 디코더를 작성해야 합니다.H.264(비디오)를 위한 Broadway, mPEG1을 위한 jsmpeg, ogv.js(비디오 및 사운드 지원)와 같은 비디오 디코더의 기존 구현이 있습니다.

비디오를 디코딩하는 과정은 계산적으로 무겁다는 것을 기억하세요.상대적으로 느린 FPS(±20)가 예상됩니다.

참고로, 이 사람들은 iOS 기기에서 재생할 수 있는 동영상 데모를 준비했습니다.

iOS 10+에서

Apple에서 속성을 활성화했습니다.playsinlineiOS 10의 모든 브라우저에서 원활하게 작동합니다.

<video src="file.mp4" playsinline>

iOS 8 및 iOS 9에서

실제로는 이 문제를 해결하기 위해 동영상을 훑어보는 대신 재생을 시뮬레이션할 수 있습니다..play()'ing it.

iphone-in-line-video를 사용하여 재생 및 오디오 동기화를 처리할 수 있으며(있는 경우),<video>정상적으로 작동하고 있습니다.

모바일 사파리를 위한 앱이 생성되어 있습니까?앱이 있고 UI WebView를 사용하는 경우 UI WebView의 허용을 설정해야 합니다.InlineMediaPlayback 속성

iOS 10에서 HTML5 비디오 태그에 'plays inline' 속성을 추가하면 아이폰 UI 웹뷰에서 'controls' 속성을 추가하기 전까지는 전체 화면 재생이 되지 않았습니다.이렇게 해서 작동하게 되었습니다.

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

, ,_webView.allowsInlineMediaPlayback=YES;View Controller(보기 컨트롤러)에도 표시됩니다.

몇 가지 해결 방법이 있습니다. 저는 이 기능을 자동으로 허용하기 위해 라이브러리 작업을 하고 있습니다.그러나 애플이 사파리를 다음과 같이 설정할 때까지

webview.allowsInlineMediaPlayback = YES;

그러면 똑같은 행동에 대해 해킹을 사용해야 할 것입니다.

이 프로젝트가 당신의 요구에 부합하는지를 알아보기 위해 https://github.com/newshorts/InlineVideo 에서 확인할 수 있습니다.

config.xml 하면 됩니다.<preference name="AllowInlineMediaPlayback" value="true" />그렇지 않으면 UI WebView 는 웹킷 - 인라인 속성을 무시합니다를 재생합니다.

이를 config.xml에 추가하면 쉽게 허용할 수 있습니다.그러면 UI WebView는 웹킷 재생 인라인 속성을 존중해야 합니다.

언급URL : https://stackoverflow.com/questions/3699552/html5-inline-video-on-iphone-vs-ipad-browser

반응형