在Android應用程式使用YouTube API來嵌入視訊

文章推薦指數: 80 %
投票人數:10人

在Android版YouTube播放器API使您可以將視訊播放功能到你的Android應用程式。

該API允許您載入和播放YouTube視訊(和播放列表),並自定義和控制視訊播放 ... 程式人生>android教程>在Android應用程式使用YouTubeAPI來嵌入視訊 在Android應用程式使用YouTubeAPI來嵌入視訊 •android教程•發佈:2018-10-02 在Android版YouTube播放器API使您可以將視訊播放功能到你的Android應用程式。

該API允許您載入和播放YouTube視訊(和播放列表),並自定義和控制視訊播放體驗。

您可以載入或暗示的視訊嵌入到你的應用程式的使用者介面的球員檢視。

然後,您可以通過程式設計控制播放。

例如播放,暫停,或尋求在載入視訊的特定點。

您可以註冊事件偵聽器來獲取某些事件,比如玩家載入視訊或播放狀態改變回調。

API還具有輔助功能,支援方向的變化,以及過渡到全屏播放。

使用Android的YoutubeAPI之前,您需要註冊您的應用程式,包括您的數字簽名的apk在谷歌開發者控制檯檔案的公證書。

要註冊應用程式,請按照下列步驟。

要開始,建立一個新的專案。

我打電話給我VideoTube。

在AndroidStudio的嚮導的下一個螢幕上選擇API10,空白活動和MainActivity作為活動的名稱。

進入谷歌開發者控制檯 建立一個新專案。

我將其命名VideoTube。

在該專案中建立後出現的頁面上,展開API和驗證左側邊欄。

接下來,單擊的API。

在API的列表,點選YouTube資料API並啟用YouTube資料APIV3後面的頁面上。

在左側邊欄,選擇證書。

對於資格證書,API支援的OAuth2.0,使用服務帳戶的API金鑰和。

我們將使用API金鑰選項。

選擇API金鑰從新增憑據下拉選單。

會顯示一個彈出讓你指定金鑰型別。

選擇Android的關鍵。

接下來選擇新增包名和指紋,並新增Android應用程式的包名(我的是com.echessa.videotube),然後在終端中執行以下命令來獲取SHA-1證書指紋。

keytool-list-v-keystore~/.android/debug.keystore 輸入的android系統提示時作為密碼。

上位於除錯金鑰庫上面的命令列印資料〜/.android/debug.keystore您的計算機上。

這是通過Eclipse中或Android工作室當你第一次建立了一個Android應用程式自動生成的。

在終端方面,你會看到MD5和SHA-1證書指紋。

複製SHA-1指紋,並將其貼上在谷歌開發者控制檯,然後點選建立按鈕。

API金鑰將會產生。

稍後我們將使用此。

早在Android應用程式,建立一個名為類Config.java並貼上以下。

packagecom.echessa.videotube;/***Createdbyechessaon7/17/15.*/publicfinalclassConfig{privateConfig(){}publicstaticfinalStringYOUTUBE_API_KEY="YOURAPIKEY";} 貼上您的API金鑰。

下載(在寫作的時候1.2.1)的最新版本的Android版YouTube播放器API的。

解壓下載的檔案,以找到庫的jar檔案,並且你可以用它來看看有什麼的庫提供的一個示例應用程式。

該JAR檔案位於庫資料夾中。

複製並貼上到你的專案的庫資料夾中。

要訪問的庫資料夾,使用專案在AndroidStudio的工程資源管理器的角度來看。

然後,展開VideoTube->程式->庫。

變回Android的角度來看,選擇的build.gradle(模組:應用程式)檔案,並新增以下的依賴關係。

compilefiles('libs/YouTubeAndroidPlayerApi.jar') 同步專案的檔案的gradle。

新增下面的許可權,網際網路接入到的AndroidManifest.xml檔案作為一個孩子明顯標籤和同級的應用程式。

編輯的strings.xml檔案,如圖所示。

這些都是我們需要的字串資源。

VideoTubeHelloworld!SettingsErrorinitializingYouTubeplayerJumpToSeconds 接下來,我們將新增一個YouTubePlayerView到佈局檔案。

該檢視用於顯示YouTube視訊。

修改activity_main.xml中,如圖所示。

我們將直接使用YouTubePlayerView在我們的活動,而不是使用YouTubePlayerFragment。

正因為如此,該活動需要延長YouTubeBaseActivity類。

修改MainActivity.java如圖所示。

packagecom.echessa.videotube;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.widget.Toast;importcom.google.android.youtube.player.YouTubeBaseActivity;importcom.google.android.youtube.player.YouTubeInitializationResult;importcom.google.android.youtube.player.YouTubePlayer;importcom.google.android.youtube.player.YouTubePlayer.Provider;importcom.google.android.youtube.player.YouTubePlayerView;publicclassMainActivityextendsYouTubeBaseActivityimplementsYouTubePlayer.OnInitializedListener{privatestaticfinalintRECOVERY_REQUEST=1;privateYouTubePlayerViewyouTubeView;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);youTubeView=(YouTubePlayerView)findViewById(R.id.youtube_view);youTubeView.initialize(Config.YOUTUBE_API_KEY,this);}@OverridepublicvoidonInitializationSuccess(Providerprovider,YouTubePlayerplayer,booleanwasRestored){if(!wasRestored){player.cueVideo("fhWaJi1Hsfo");//Playshttps://www.youtube.com/watch?v=fhWaJi1Hsfo}}@OverridepublicvoidonInitializationFailure(Providerprovider,YouTubeInitializationResulterrorReason){if(errorReason.isUserRecoverableError()){errorReason.getErrorDialog(this,RECOVERY_REQUEST).show();}else{Stringerror=String.format(getString(R.string.player_error),errorReason.toString());Toast.makeText(this,error,Toast.LENGTH_LONG).show();}}@OverrideprotectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){if(requestCode==RECOVERY_REQUEST){//RetryinitializationifuserperformedarecoveryactiongetYouTubePlayerProvider().initialize(Config.YOUTUBE_API_KEY,this);}}protectedProvidergetYouTubePlayerProvider



請為這篇文章評分?