gpt4 book ai didi

javascript - 使用 YouTube 的 iFrame 播放器在 iOS webview 中内联渲染视频?

转载 作者:行者123 更新时间:2023-11-28 01:58:02 28 4
gpt4 key购买 nike

我尝试在 iOS 应用的 WebView 中使用 YouTube iFrame 播放器,但播放器坚持使用 iOS 播放器全屏呈现视频。我想在 WebView 中播放视频。是否有一些值可以传递给播放器,以说服它在 Web View 中而不是在移动 Safari 中,并且可以只在 iframe 中呈现视频?

最佳答案

下面是一个 Swift 示例,说明如何在不强制用户进入全屏播放器的情况下内联播放 YouTube 视频:

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)

关于javascript - 使用 YouTube 的 iFrame 播放器在 iOS webview 中内联渲染视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15803261/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com