0

私はAndroidの初心者なので、気楽にやってください;-)

サーバーからダウンロードしている一連のビデオ ファイルを再生しようとしています。課題は、あるファイルから別のファイルにスムーズに移行したいということです。

私の考えでは、2 つの MediaPlayer インスタンスをそれぞれ準備してから順番に再生することです。両者が同じ SurfaceView を共有できるかどうかはわかりません。それとも、異なるビューを使用してそれらを交換する必要がありますか? または、アイデアはすべて一緒に悪いアイデアですか?

表示されていないビューで MediaPlayer インスタンスを構成しようとすると、エミュレーターがクラッシュするようです。

4

2 に答える 2

3

配列リストとしてプレイリストを作成できます

private int url = 0;
private ArrayList<String> videoList = new ArrayList<String>();

リストにURLを追加します

    videoList.add("/mnt/sdcard/v4.mp4");
    videoList.add("/mnt/sdcard/v3.mp4");
    videoList.add("/mnt/sdcard/v1.mp4");

およびcreateメソッド呼び出し

playVideo(videoList.get(0));

次に、OnCompletionListenerメソッド呼び出し

url++;
        if (mVideoView != null) {
            current = null;             
            mVideoView.stopPlayback();
        }

        if (url > videoList.size() - 1) {
            url = 0;
        }

        playVideo(videoList.get(url));
于 2012-12-24T08:18:19.673 に答える
0

Video Viewの API Demo に従いました。VideoView のセットアップ方法は次のとおりです。

mVideoView.setVideoURI(Uri.parse(Uri.encode(URLString)));
mVideoView.setMediaController(new MediaController(this));
mVideoView.requestFocus();

VideoView.setVideoURI() を呼び出すと、VideoView が MediaPlayer オブジェクトを作成してセットアップすることは100%確実ではありませんが、ほぼ確実です。次に、次の呼び出しで MediaController をアタッチします。

おそらく、OnCompletionListener のコールバックをセットアップして (詳細は MediaPlayer doc を参照)、プレイリスト内の新しいファイルに対して VideoView.setVideoURI() を呼び出すことができます。

于 2010-04-26T22:33:28.957 に答える