更新:下面的一切仍然正確,但official YouTube API for Android現在可用。
到目前爲止,在Android上播放YouTube視頻最簡單的方法是簡單地啓動意圖以啓動本機Android YouTube應用。當然,如果您不在經過認證的Google設備上,該設備就無法使用Google應用程序。 (Kindle Fire可能是這種設備的最大例子)。這種方法的問題在於,視頻結束時用戶不會自動關閉應用程序,他們必須按下「後退」按鈕,此時您可能會丟失它們。
作爲第二種選擇,您可以使用MediaPlayer API播放YouTube視頻。但這種方法有三個注意事項:
1)您需要撥打YouTube的GData webservice API,並將其傳遞給視頻的ID。您將獲得大量的元數據,以及您應該傳遞給MediaPlayer播放H.264編碼流的RTSP URL。這可能是您嘗試使用MediaPlayer失敗的原因;您可能沒有使用正確的網址進行流式傳輸。
2)GData/MediaPlayer方法將只播放低分辨率內容(176x144或類似)。這是YouTube的一項蓄意決定,以防止內容被盜。當然,這並不能提供非常令人滿意的體驗。有後門黑客可以獲得更高分辨率的視頻流,但所有版本的Android都不支持它們,使用它們違反了YouTube的服務條款。
3)RTSP流可以被一些內部網絡/防火牆阻止,所以這種方法可能不適用於所有用戶。
第三個選項是將WebView嵌入到您的應用程序中。有兩種方法可以採取在這裏:
1)您可以嵌入Flash對象和運行標準桌面Flash播放YouTube上。您甚至可以使用JavaScript API來控制播放器,並將事件轉發回原生Android應用程序。這種方法運行良好,但不幸的是Flash在Android平臺上已被棄用,並且不適用於Android 4.1及更高版本。
2)您可以嵌入<video>
標籤,以通過HTML5播放YouTube。對Android的各種版本的支持各不相同。它在Android 4上運行良好。0以後;早期版本的HTML5 <video>
支持有點多餘。因此,根據您的應用程序必須支持的Android版本,您可以採用在Android 4.x或更高版本中嵌入HTML5的混合方法,以及適用於所有早期版本Android的Flash。
在StackOverflow上有幾個關於使用HTML5播放YouTube視頻的主題;他們都沒有真正描述你必須在一個地方遵循的整個過程。這裏的鏈接,他們幾個:
Android - How to play Youtube video in WebView?
How to embed a YouTube clip in a WebView on Android
Play Youtube HTML5 embedded Video in Android WebView
所有這一切都將讓你在幾周/幾個月來急劇容易;在Google I/O 2012上,他們展示/演示了一款全新的適用於Android的YouTube API,支持將YouTube內容直接嵌入到您的應用程序中,完全支持Android 2.2(截至撰寫本文時,大約95%爲Android用戶羣)。它不能夠快到。
這可能有助於http://www.gadgetsaint.com/android/play-youtube-android-youtube-player-api/ – ASP 2017-04-07 13:42:47