Xamarin.Android で YouTubeAndroidPlayerAPI.jar を使ってみる
Xamarin.Android には Android用JARから.NETアセンブリを自動生成する機能があって、Mono.Android.dll を作る機能を一般化したものらしい。これで Google の提供する YouTube Android Player API を呼び出してみたところ、意外なほど簡単にできた。
やりかたは Xamarinのドキュメント に従えばいい。
- Xamarin のサイトから Xamarin Studio をダウンロードし、インストールする
- 素のMonoDevelopにはAndroid用アプリのテンプレートこそ入っているが、AndroidランタイムはプロプライエタリなのでXamarinから手に入れる必要がある
- "Android Java Binding Library" を作る
- Jarsフォルダに YouTubeAndroidPlayerAPI.jar を入れる
JARによっては更に作業が必要なこともあるようだけど、YouTube APIについてはこれだけで使えるようだ。
あとは普通にプロジェクトを作成し、リファレンスとしてライブラリプロジェクトを参照すればよい。android.permission.INTERNET を有効にするのを忘れずに。命名規則がC#風になっていることを除けばJava版と大差なく使える。
using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS; using Com.Google.Android.Youtube.Player; namespace YouTubeAndroidSample { [Activity (Label = "YouTubeAndroidSample", MainLauncher = true)] public class MainActivity : Activity { private const string API_KEY = "YOUR_API_KEY_HERE"; protected override void OnCreate (Bundle bundle) { base.OnCreate (bundle); SetContentView (Resource.Layout.Main); var button = FindViewById<Button> (Resource.Id.myButton); button.Click += delegate { var videoId = "us8j93EZt4U"; var intent = YouTubeStandalonePlayer.CreateVideoIntent( this, API_KEY, videoId ); StartActivity (intent); }; } } }