web-dev-qa-db-ja.com

ライブビデオをAndroid

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

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

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

ありがとう。

19
Butters

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

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();             
    }     
}
36
Butters

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(); 
4
samreen

Vitamioをプロジェクトに追加するには、この依存関係を追加するだけです。 'me.neavo:vitamio:4.2.2'をコンパイルしてから、@ butterが指示したとおりにします。 Happy Coding.good luck

0

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

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

これを試して。

0
Zumry Mohamed