2017-05-10 5 views
4

iPhone을 사용하고 웹 뷰에서 비디오를 재생할 때이 비디오는 기본 플레이어에서 전체 화면으로 열립니다.WkWebView에서 비디오를 인라인으로 재생하는 방법

"allowsInlineMediaPlayback"속성이 true 인 UIWebView 및 WKWebView를 시도했습니다. 그러나 웹 콘텐츠의 비디오는 iOS 10.2와 함께 전체 화면으로 실행됩니다. 내가 뭘 할 수 있을지 생각해? 3

+0

안녕 또한 당신이 큰 벅 토끼 테스트 비디오 공포 쇼를 피할 수 있도록 archive.org에 호스팅 테스트 영상을 추가했습니다. 이것에 대한 답변을 얻었습니까? – user2673664

답변

0

신속 엑스 코드 (8), 내가 이렇게 결국 :

let webConfiguration = WKWebViewConfiguration() 
// Fix Fullscreen mode for video and autoplay 
webConfiguration.preferences.javaScriptEnabled = true 
webConfiguration.mediaPlaybackRequiresUserAction = false 
webConfiguration.allowsInlineMediaPlayback = true 

webView = WKWebView(frame: CGRect(x: 0, y: 0, width:self.backgroundView.frame.width, height:self.backgroundView.frame.height), configuration: webConfiguration) 

봉투 HTML로

func load(url: String) { 
    let html = "<video playsinline controls width=\"100%\" src=\"\(url)\"> </video>" 
    self.webView.loadHTMLString(html, baseURL: nil) 
} 

로드 웹보기와는 UX를 사용자 정의하는 일부 비디오 태그를 추가 할 수 있습니다.

0

다음은 HTML 문자열이 필요없는 최상의 방법입니다.

스위프트 4 :

if let mediaURL:URL = URL(string: "https://ia800307.us.archive.org/14/items/electricsheep-flock-244-32500-9/00244%3D32649%3D22645%3D23652_512kb.mp4") { 
    let request:URLRequest = URLRequest(url: mediaURL); 
    self.webView.load(request) 
} 

의 Obj-C :

NSURL *mediaURL = [NSURL URLWithString:@"https://ia800307.us.archive.org/14/items/electricsheep-flock-244-32500-9/00244%3D32649%3D22645%3D23652_512kb.mp4"]; 

NSURLRequest *request = [NSURLRequest requestWithURL:mediaURL] 
[self.webView loadRequest:request];