web-dev-qa-db-ja.com

ビデオストリーミングとAndroid

今日、私のアプリ(Android 2.1)の1つについて、URLからビデオをストリーミングしたいと思いました。

私が探求した限りでは、Android SDKは非常に優れており、私はほぼそれのすべての部分を愛していました。しかし、ビデオストリームになると、私はちょっと迷ってしまいました。

Android SDKについて必要な情報については、その方法を説明する数千のブログがあります。ビデオストリーミングに関しては、状況は異なります。情報は豊富です。

誰もがそれをあちこちでだましていたのです。

ビデオのストリーミングを可能にする既知の手順はありますか?

グーグルは開発者にとってそれをもっと簡単にすることを考えましたか?

27
Spredzy

OSにデフォルトのプレーヤーを使用してビデオを再生させるだけの場合は、次のようなインテントを使用します。

String videoUrl = "insert url to video here";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(videoUrl));
startActivity(i);

ただし、ビューを自分で作成し、それにビデオをストリーミングする場合、1つのアプローチは、レイアウトにビデオビューを作成し、メディアプレーヤーを使用してそれにビデオをストリーミングすることです。これがXMLのビデオビューです:

<VideoView Android:id="@+id/your_video_view"
         Android:layout_width="wrap_content"
         Android:layout_height="wrap_content"
         Android:layout_gravity="center"
/>

次に、アクティビティのonCreateでビューを見つけ、メディアプレーヤーを起動します。

    VideoView videoView = (VideoView)findViewById(R.id.your_video_view);
    MediaController mc = new MediaController(this);
    videoView.setMediaController(mc);

    String str = "the url to your video";
    Uri uri = Uri.parse(str);

    videoView.setVideoURI(uri);

    videoView.requestFocus();
    videoView.start();

ビデオの再生が完了したとき、またはエラーが発生したときに通知されるように、ビデオビューリスナーをチェックしてください(VideoView.setOnCompletionListener、VideoView.setOnErrorListenerなど)。

35
Ryan Reeves