2016-02-19 185 views
2

我遇到了一個問題,試圖自動播放我的UIWebView。使用UIWebView無法自動播放嵌入的YouTube視頻嗎?

是的,我知道有很多關於它的問題。

拳了,這裏是我的簡單的代碼:

override func viewDidLoad() 
{ 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    let youtubePlayer:UIWebView = UIWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height)) 

    youtubePlayer.loadRequest(NSURLRequest(URL: NSURL(string: "https://www.youtube.com/embed/EzNinU0g-Q0")!)) 

    self.view.addSubview(youtubePlayer) 
} 

現在,這裏是我的發現:

  1. How to autoplay a YouTube video in a UIWebView
  2. Youtube video autoplay inside UIWebview
  3. How to get YouTube autoplay to work in UIWebView?

我按照以下代碼的建議做了:

youtubePlayer.mediaPlaybackRequiresUserAction = false 
youtubePlayer.allowsInlineMediaPlayback = true 

那什麼也沒做。

  • autoplay on video in UIWebview,iOS
  • 此解決方案,然而,它並不適合嵌入式視頻,這是我使用的是什麼。

    因此,有沒有辦法使用UIWebView自動播放?

    這些問題發佈多年前,所以我不知道事情如何改變。

    任何人都可以提出一個替代方案嗎?由於我設置了UITableView,當用戶選擇一個單元(視頻)時,它會顯示視頻的UIWebView。

    但是,我希望視頻在用戶選擇視頻時立即開始播放,而不必再次按播放進行播放。

    我有一個類似TubiMusic和Tubex的應用程序的佈局設計,但這些應用程序能夠自動播放視頻,但我不知道如何做同樣的事情。

    任何幫助,將不勝感激。謝謝

    回答

    3

    這裏是頂級的OBJ-C答案的斯威夫特 - 指明分數版本How to autoplay a YouTube video in a UIWebView

    顯然問題出在沒有基址的時候,當我將它改爲resourceURL時,自動播放起作用了。

    下面的代碼:

    var youTubeVideoHTML: String = "<!DOCTYPE html><html><head><style>body{margin:0px 0px 0px 0px;}</style></head> <body> <div id=\"player\"></div> <script> var tag = document.createElement('script'); tag.src = \"http://www.youtube.com/player_api\"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubePlayerAPIReady() { player = new YT.Player('player', { width:'%0.0f', height:'%0.0f', videoId:'%@', events: { 'onReady': onPlayerReady, } }); } function onPlayerReady(event) { event.target.playVideo(); } </script> </body> </html>" 
    
    func playVideoWithId(videoId: String) { 
    var html: String = String(format: youTubeVideoHTML, self.frame.size.width, self.frame.size.height, videoId) 
    
    } 
    
    +0

    YES !!! ...謝謝這正是我一直在尋找。 – Pangu

    +0

    @Pangu很高興幫助你! – owlswipe

    +0

    我測試了這個,但視頻沒有自動播放。你能幫我嗎? –

    相關問題