3

iOS アプリの Web ビュー内で YouTube iFrame プレーヤーを使用しようとしていますが、プレーヤーは iOS プレーヤーを使用してビデオを全画面表示することを要求します。Webview内でビデオを再生したい。モバイル Safari ではなく Web ビューにあり、iframe 内でビデオをレンダリングしても問題ないことをプレーヤーに納得させるために、プレーヤーに渡すことができる値はありますか?

4

1 に答える 1

2

ユーザーに全画面プレーヤーを強制せずに YouTube ビデオをインラインで再生する方法の Swift の例を次に示します。

let webView = UIWebView(frame: CGRectMake(0, 30, self.view.frame.size.width, 500)) // or your custom rect, this is just an example

self.view.addSubview(webView)
self.view.bringSubviewToFront(webView)

// Play video in-line and start playback immediately
webView.allowsInlineMediaPlayback = true
webView.mediaPlaybackRequiresUserAction = false

// Set the id of the video you want to play
let videoID = "zN-GGeNPQEg" // https://www.youtube.com/watch?v=zN-GGeNPQEg

// Set up your player
let embededHTML = "<html><body style='margin:0px;padding:0px;'><script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'>function onYouTubeIframeAPIReady(){ytplayer=new YT.Player('playerId',{events:{onReady:onPlayerReady}})}function onPlayerReady(a){a.target.playVideo();}</script><iframe id='playerId' type='text/html' width='\(self.view.frame.size.width)' height='\(self.view.frame.size.height)' src='http://www.youtube.com/embed/\(videoID)?enablejsapi=1&rel=0&playsinline=1&autoplay=1' frameborder='0'></body></html>"

// Load the player
webView.loadHTMLString(embededHTML, baseURL: NSBundle.mainBundle().bundleURL)
于 2015-06-24T18:42:36.827 に答える