2019年7月12日 星期五

【Android Html5】播放Youtube影片

目標是建立一個會佔滿整個WebView的YouTubePlayer。

必須注意到:基本上,開發時所有會遇到的問題都源於「網頁版Youtube撥放器在移動網頁上不能正常運作」。──所以Google才會另外開發一套移動式套件,但因為這套件非常不好用,所以終究還是要回來解決不能正常運作的問題。


基本建立方式在第二個回應。(測試過,可以使用。)

這個技巧播放檔案的秘訣在於監聽Player的State,所以當它Ready就開始播放,播放完可以開始再次重播、或撥下一檔。

如果要改撥放PlayList、而不是單一影片,可以使用這個方法修改範例。

範例內是使用在YT.Player內直接設定VideoId的方式,但其實有用播放指令指定ID的方法,同時也可以用清單播放。方法可以看標準官方範例。

官方範例內有player.nextVideo(),可以用來自動播放列表下一檔。


影片如果要不暫停、就退出或前進到下一層功能,這個地方有講解需要使用什麼樣的修改。簡而言之就是WebView也有自己的onPause和onResume,必須要在Fragment和Activity中相對應的地方呼叫。(同時需要使用Timer的啟動與暫停。)

另外,影片如果還沒開始撥放就被退到背景,YouTube Player這時可能會在背景被啟動。所以在執行「是否要開始撥放」前,同時要檢查WebView是否還在前景上。