21

ライブビデオをAndroid(2.1以降)にストリーミングするにはどうすればよいですか?2つのリンクがあります:m3u8f4m(私が知っているように、f4mはサポートされていません)。

私がstackoverflowで見たものから、vitamioでm3u8をストリーミングする方法があります(しかし、リンクは機能していません)。

m3u8ビデオをストリーミングする他の方法はありますか?多分私が使用できる他のフォーマットがありますか?

ありがとう。

4

4 に答える 4

37

誰も私の質問に答えなかったので、私は自分で答えます。

Android 2.1以降でHLT(HTTP Live Stream)を実行する場合は、vitamioライブラリを使用できます。

サイト:(http://www.vitamio.org/)。

コード例は次のとおりです。メインレイアウト:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout android:id="@+id/LinearLayout01"
            android:layout_height="fill_parent"         xmlns:android="http://schemas.android.com/apk/res/android"
            android:paddingLeft="2px" android:paddingRight="2px"
            android:paddingTop="2px" android:paddingBottom="2px"
            android:layout_width="fill_parent" android:orientation="vertical">

            <io.vov.vitamio.widget.VideoView
                 android:layout_height="fill_parent"
                 android:layout_width="fill_parent" android:id="@+id/VideoView">               
            </io.vov.vitamio.widget.VideoView>
</LinearLayout>

クラス:

import io.vov.vitamio.widget.MediaController;
import io.vov.vitamio.widget.VideoView;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;



public class LiveStrimingTestActivity extends Activity{

    VideoView videoView;

    private void test_2(){
        String httpLiveUrl = "http://aj.lsops.net/live/aljazeer_en_high.sdp/playlist.m3u8";   
        videoView = (VideoView) findViewById(R.id.VideoView);
        videoView.setVideoURI(Uri.parse(httpLiveUrl));
        MediaController mediaController = new MediaController(this);
        videoView.setMediaController(mediaController);
        videoView.requestFocus();
        videoView.start();
    }


    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        test_2();             
    }     
}
于 2012-08-11T07:46:31.450 に答える
4

OS 2.2、2.3.4、4.0.4のデバイスで同じストリームをテストしました。このストリームは、私が持っているデバイスの通常のVideoViewで非常にうまく再生されます。MediaControllerをライブストリームで使用しません。残りのコードは単純です。

initializeVideoView();
mVideoView.setVideoURI(Uri.parse("http://aj.lsops.net/live/aljazeer_en_high.sdp/playlist.m3u8"));
mVideoView.setMediaController(null);
mVideoView.start(); 
于 2012-08-28T10:26:55.313 に答える
0

KickFlipは、ビデオストリーミング用のオープンソースで無料のライブラリであり、セットアップが非常に簡単です。

Kickflip.initWithApiKey(API_KEY, API_SECRET);
Kickflip.startBroadcastActivity(this, mBroadcastListener);

これを試して。

于 2017-09-19T09:05:18.290 に答える
0

プロジェクトにvitamioを追加するには、この依存関係を追加するだけです。'me.neavo:vitamio:4.2.2'をコンパイルしてから、@butterから指示されたとおりにコンパイルします。ハッピーコーディング。幸運

于 2018-02-20T09:13:59.727 に答える