1

Android デバイスでつる動画を表示するアプリを作成しました。これらは基本的に、.mp4 ビデオが .mp4 ファイルにロードされVideoViewます。次のドキュメント ( http://developer.android.com/guide/appendix/media-formats.html ) によると、mp4 ビデオの再生は Android バージョン 3 以降のデバイスでサポートされています。

古いバージョンの Android がアプリをダウンロードするのを除外するために、既にマニフェスト ファイルに を追加しましたandroid:minSdkVersion="11"が、新しいバージョンの Android (4.1、4.2 など) を実行しているユーザーから、「ビデオができない」再生されます」というエラー メッセージが表示されます。

エミュレーターを使用してビデオ再生をテストする方法がないため (私が知っているので、間違っていたら訂正してください)、何が起こっているのか本当にわかりません。

この問題を正しく修正できるように、デバイスがビデオを再生できるかどうか、または少なくともエミュレータでビデオを再生できるかどうかを確認する方法はありますか?

pd。興味のある方は、Google Play の私のアプリへのリンクをご覧ください。ご覧のとおり、私は否定的なレビューに押しつぶされています: https://play.google.com/store/apps/details?id=com.thirtymatches.vineflow

4

1 に答える 1

1

Google の互換性マトリックスをよく見ると、MP4/H264エンコーディングのサポートが Android 3.0 リリースから開始されていることがわかります。 MP4/H.264 の再生は、Android 1.0 までのすべての Android デバイスでサポートされているため、利用可能性を Android の新しいリリースに制限する必要はありません (他の API 互換性が必要でない限り)。

VideoView を介して、これらすべてのデバイスでのビデオの再生は、電話のチップセットによって提供されるハードウェア デコーダーを使用して行われます。したがって、互換性を保証するには、ビデオを最小公倍数にエンコードする必要があります。Google は、リンクしたページの下部に「ビデオ エンコーディングの推奨事項」を提供します。また、すべての Android デバイスで再生される MP4/H264 の形式にトランスコードする方法について説明した回答も書きました。

Vine がビデオ クリップで何を行っているかがわからない場合、ビデオがすべて統一されたエンコーダ パラメータでエンコードされていない可能性があります。幅広い互換性を確保するために、サーバー側で追加の処理を行わずにビデオをハンドセットから直接取り出してストリーミングしている可能性があります。知らない。その場合、a) 独自のソフトウェア コーデックを実装する (RockPlayer、MX Player、VLC などのアプリが行うように)、または b) サーバー上のビデオをトランスコードする (これはおそらく Vine の利用規約に違反するでしょう)。

于 2013-02-08T00:17:09.183 に答える