web-dev-qa-db-ja.com

Androidのライブストリーミングアプリを作成する

私は最近かなり苦労しています。

ライブストリーミングが埋め込まれたAndroidアプリを開発したいのですが、開始方法がわかりません。ライブビューイングタグが埋め込まれたWebviewを使用しようとしましたが、うまくいきませんでした(ほとんどの場合、ストリームはFlashを介して提供されます。VideoViewコンポーネントも使用しようとしましたが、機能しませんでした。

これらのパブリッシャーは独自のAPPを持っているため、それが可能であることはわかっていますが、提供される形式は通常Flashです。モバイルフレンドリーな形式ではありません。

誰か、開始方法や回避策があるかどうかを教えてもらえますか?

前もって感謝します!

編集:

私がやりたいのは、たとえば、このストリームを使用することです。たとえば、 http://new.livestream.com/ATP/lexington2014court1 をAPP内に表示します。

17
priki

やったと思う!

まず、livestream.comからのストリームを実際に使用していますが、現在、実際のバージョンに対するパブリックAPIはありませんが、...ここから多くの助けを得ました: RTSPを取得するnew.livestream.com API

そのため、このAPI呼び出しがあります http://new.livestream.com/api/accounts/ [account_id]/events/[event_id]/viewing_info

jSONを返します。次に、「rtsp_url」値を取得してVideoURIに入れます。

ここに私のコードがあります:下のコードの「{VIDEO_RTSP_URL}」を、上記で取得したJSONの「rtsp_url」の値に置き換えてください。

MainActivity.Java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    VideoView videoView = (VideoView) findViewById(R.id.video);
    MediaController mediaController = new MediaController(this);
    mediaController.setAnchorView(videoView);
    mediaController.setMediaPlayer(videoView);

    Uri video = Uri.parse("{VIDEO_RTSP_URL}");
    videoView.setMediaController(mediaController);
    videoView.setVideoURI(video);
    videoView.start();      
}

activity_main.xml

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:paddingBottom="@dimen/activity_vertical_margin"
    Android:paddingLeft="@dimen/activity_horizontal_margin"
    Android:paddingRight="@dimen/activity_horizontal_margin"
    Android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.fcl.videoplay.MainActivity" >

    <VideoView
        Android:id="@+id/video"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:layout_alignParentBottom="true"
        Android:layout_alignParentLeft="true"
        Android:layout_alignParentRight="true"
        Android:layout_alignParentTop="true" />

</RelativeLayout>

今、何らかの理由で、Wi-Fiに接続したときにストリーミングが機能しませんが、3G(実際のデバイスでテストしています。エミュレーターではありません)では動作しますが、これは別のトピックです

全体的に、Livestream.comなどのストリーミングサービスを使用している場合、APIを介してこのRTSP_URLのようなものが提供される場合があります。おそらくそれを使用する必要があるでしょう。

13
priki