androidアプリを作成中で動画再生の機能をつけようと考え、いろいろ調査しました。
- MP4ファイルをDropBoxへ保存し、パブリックリンクを取得し、そのURLをVideoViewで読み込む
- WebViewでYouTubeのURLを設定して表示する。
- YouTubeのRTSPを取得して、VideoViewで読み込む
今回は、3.のYouTubeのRTSPを取得してVideViewで読み込むことにしました。
あると便利なもの
FireFoxのアドオン RESTClient
YouTubeのRTSPを取得する。
動画IDを取得する。
RESTClientでGETでリクエストをする。
レストポンスで以下が表示されます。マークされている部分をViedeViewで読み込むわけですが、2つがどう違うのか不明、私は下部のほうを読み込みました。
main.xml
<VideoView
android:id=”@+id/videoView”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content” />
MainActivity
public class MainActivity extends Activity {
String URL= “rtsp://v4.cache5.c.youtube.com/CiILENy73wIaGQnEP_XBQq2FyBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp”;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
VideoView myVideoView = (VideoView)findViewById(R.id.videoView);
myVideoView.setVideoURI(Uri.parse(URL));
myVideoView.setMediaController(new MediaController(this));
myVideoView.requestFocus();
myVideoView.start();
}
}