third-party元件(Youtube API) Youtube API 簡易使用 - Blog for ...

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

3、回到Android Studio內,右上方File >> Project Structure... 按下去之後,找到你自己專案,案ok. 我們就可以使用Youtube ... showcodeblock 2017年3月22日星期三 third-party元件(YoutubeAPI)─YoutubeAPI簡易使用、匯入專案lib 前言: 此篇我們來實作內崁Youtube影音的功能。

為什麼不用WebView直接內崁? 因為WebView內崁的方式很醜阿。

會變下圖這樣 我不想要下面這些東西,想要單純的只有影片,其他東西我可以自由地運用。

當然還有一些比較特別的使用方式。

像是MixerBox,就是拿這個在營利。

1、首先先去這網頁下載他們的api https://developers.google.com/youtube/android/player/downloads/ 下載下來會是一個.zip檔案那要怎麼import到androidstudio內呢? 2、先解壓縮吧。

然後打開資料夾找到libs檔案我們需要的東西在裡面。

你會找到YouTubeAndroidPlayerApi.jar這的檔案。

然後找到你的專案在最最上層開一個libs資料夾,以後好方便管理你import的東西。

3、回到AndroidStudio內,右上方File>>ProjectStructure... 按下去之後,找到你自己專案,案ok 我們就可以使用YoutubeAPI囉 程式碼: 先給網路權限吧! AndroidManifest 1、增加YouTubePlayerView到xml內 在main_activity.java內設定View main_activity.java 2、初始化YouTubePlayerView(Initialize) MainActivity.java內,在要使用YouTubePlayerView的activity都一定要改extends繼承變成YouTubeBaseActivity,並且imp;ements YouTubePlayer.OnInitializedListener。

implementsYouTubePlayer.OnInitializedListener之後,請implementsmethods 拿到onInitializationSuccess(初始化成功)和onInitializationFailure(初始化失敗) 在onCreate內初始化YouTubePlayerView mYoutubePlayerView.initialize(API_KEY,this); API_KEY目前用不到,可以先隨便給值。

Youtube網址的格式https://www.youtube.com/watch?v=xxxxxx 後面的的xxxxxx可以改變你想看的頻道。

試著去YOUTUBE上找你喜愛的頻道,COPY後面的xxxxxx回到MainActivity.java改變VEDIO_ID,就可以改變你要看的東西。

MainActivity.java publicclassMainActivityextendsYouTubeBaseActivityimplementsYouTubePlayer.OnInitializedListener{ publicstaticfinalStringAPI_KEY="htyhry"; //https://www.youtube.com/watch?v= publicstaticfinalStringVIDEO_ID="OsUr8N7t4zc"; privateYouTubePlayerViewmYoutubePlayerView; @Override protectedvoidonCreate(@NullableBundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mYoutubePlayerView=(YouTubePlayerView)findViewById(R.id.player_view); mYoutubePlayerView.initialize(API_KEY,this); } @Override publicvoidonInitializationSuccess(YouTubePlayer.Providerprovider,YouTubePlayeryouTubePlayer,booleanwasRestored){ Toast.makeText(this,"onInitializationSuccess!",Toast.LENGTH_SHORT).show(); if(youTubePlayer==null){ Log.d("CheckPoint","CheckPointyoutubePlayer==null"); return; } if(!wasRestored){ Log.d("CheckPoint","CheckPoint!wasRestored"); youTubePlayer.cueVideo(VIDEO_ID); } } @Override publicvoidonInitializationFailure(YouTubePlayer.Providerprovider,YouTubeInitializationResultyouTubeInitializationResult){ Toast.makeText(this,"Failedtoinitialize.",Toast.LENGTH_LONG).show(); } } 這時候你就可以開始跑你的專案了,五月天的頑固就出現拉! 3、控制YouTubePlayer事件 其中還有一些控制YouTubePlayer的方法,像是可以再按暫停的同時,加入你要的廣告....之類的。

在MainAcitivity.java內>> onInitializationSuccess這裡面加入這個方法,可以控制Loading、onLoaded、onAdStarted....等等。

youTubePlayer.setPlayerStateChangeListener(newYouTubePlayer.PlayerStateChangeListener(){ @Override publicvoidonLoading(){ Log.d("CheckPoint","CheckPointonLoading"); } @Override publicvoidonLoaded(Strings){ Log.d("CheckPoint","CheckPointonLoaded"); } @Override publicvoidonAdStarted(){ Log.d("CheckPoint","CheckPointonAdStarted"); } @Override publicvoidonVideoStarted(){ Log.d("CheckPoint","CheckPointonVideoStarted"); } @Override publicvoidonVideoEnded(){ Log.d("CheckPoint","CheckPointonVideoEnded"); } @Override publicvoidonError(YouTubePlayer.ErrorReasonerrorReason){ Log.d("CheckPoint","CheckPointonError="+errorReason); } }); 文獻: http://stacktips.com/tutorials/android/youtube-android-player-api-example https://developers.google.com/youtube/android/player/reference/com/google/android/youtube/player/YouTubePlayer.OnInitializedListener?hl=zh-tw Demo: https://drive.google.com/open?id=0Byk75IYx-dKXTzdoaF9BRkgyRlk 於 3月22,2017 以電子郵件傳送這篇文章BlogThis!分享至Twitter分享至Facebook分享到Pinterest 標籤: 匯入專案android, 導入第三方(jar), android, Android元件, Android方法, third-party元件(第三方), Youtubeandroid教學, Youtubeapi, Youtubeapi教學 沒有留言: 張貼留言 較新的文章 較舊的文章 首頁 訂閱: 張貼留言(Atom) DEBUG-CardViewcardCornerRadius圓角、陰影沒效果? 點擊AndroidManifest.xml並找到你要顯示圓角的Activity,加入android:hardwareAccelerated="true"如下方



請為這篇文章評分?