4

現在、ビデオを録画してサーバーにアップロードするアプリがあります。ビデオをアップロードした後、アプリはファイルへの flv ストリームへの URL を保持する応答を取得します。

Android のデフォルトのビデオ プレーヤー (Videos) でストリームを開こうとしても何も起こりませんが、別のアプリ (BSPlayer) を使用すると、ビデオが完全に再生されました。ただし、から 1 つのアプリを強制的に開く方法はありませんIntent.ACTION_VIEW。サーバーからの応答を受信する関数のコードは次のとおりです。

@Override
protected void onResponseReceived(int requestType, int status, Object resp) {
    switch (requestType) {
    case CLIP_DETAILS: {
        if (status == RESPONSE_OK) {
            String token1 = ((ResponseObject_ClipDetails) resp).m_token1;
            String token2 = ((ResponseObject_ClipDetails) resp).m_token2;
            String url = getClipURL(token1, token2);

            Intent i = new Intent(Intent.ACTION_VIEW);
            i.setData(Uri.parse(url));
            i.setType("video/flv");
            startActivity(i);
        }

    }
        break;
    }
}

Android アプリで .flv ビデオを表示する方法はありますか?

4

3 に答える 3

5

vitamioを使用できます。

メディア形式

Android プラットフォームに組み込まれているデフォルトのメディア形式に加えて、多くのオーディオおよびビデオ コーデックが Vitamio にパックされています。その一部を以下に示します。

  • divx/xvid
  • wmv
  • flv
  • TS
  • rmvb
  • mkv
  • 動く
  • m4v
  • アビ
  • mp4
  • 3gp

Android 開発者向けの Vitamio SDK

プロジェクトで使用する jar ファイルは、こちらからダウンロードできます。(Vitamio-SDK.7z)

Android 開発者向け

これは、vitamio.jar を使用するデモ プロジェクトです。(Vitamio-Demo.7z)

Vitamio は、Android の既定の MediaPlayer フレームワークと同様のインターフェイスを提供します。プロジェクトで android.media.MediaPlayer を使用している場合は、上記から vitamio.jar を取得してプロジェクトのライブラリに追加し、android.media.MediaPlayer のインポートを io.vov.vitamio.MediaPlayer に置き換えます。

Android MediaPlayer のデフォルト インターフェイスに加えて、Vitamio はさらに多くの API を提供します。ライブラリの javadoc を参照してください。

于 2012-06-26T09:02:40.740 に答える
0

実は、特定のアプリを強制的に開く方法があります。

この回答は、その方法を示しています。 https://stackoverflow.com/a/10035789/375929

BSPlayer のパッケージ名を見つけて、それを使用してアプリをフィルタリングし、ビデオを開きます。もちろん、BSPlayer がインストールされていない場合も処理する必要があります。queryIntentActivities()を使用することをお勧めします。空のリストが返された場合は、BSPlayer をインストールして、対応する Play ストア リンクを起動する必要があることをユーザーに伝えます。

ユーザーにサードパーティのアプリをインストールするように依頼する以外に、WebView を介して独自の flv プレーヤーを実装することもできますが、ユーザーにはまだ Flash Player が必要です (ただし、これは多少異なります。誰もが Flash Player が何であるかを知っているので、それを使用する必要があります)。ユーザーにインストールを依頼しても問題ありません)

その方法に関する 2 つのチュートリアルを見つけました: WebView でflv ビデオをロードする問題http://www.synesthesia.it/playing-flash-flv-videos-in-android-applications

于 2012-06-26T08:00:06.027 に答える
0

とてもシンプルでした

これを使って

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(PATH_OF_FILE), "video/flv");
startActivity(intent);   

役に立ちますように...

于 2012-06-28T06:33:55.913 に答える