5

私のアプリケーションでは、プログレッシブ ダウンロード (ビデオ ファイル) のプレビューをユーザーに提供する必要があります。

これを実現するために、VideoViewコンポーネントを使用して、ダウンロード中のビデオ (.mp4、.3gpp) のコンテンツを表示しています。

http://問題は、またはrtsp://プロトコル経由でリモート メディアにアクセスできないことです。そのためVideoView.setVideoPath、ダウンロード中にビデオのローカル コピーを再生するために使用せざるを得ません。

StageFright残念ながら、フレームワークを使用できない Android デバイス(および私の経験ではOpenCore一部のデバイス) では、プログレッシブ ダウンロードを正しく処理できないようです。コンポーネントの初期化中に認識されたビデオの部分のみを再生できます。Tegra2-basedVideoView

明確にするために: ビデオの 5% しかダウンロードされていないときにユーザーが [再生] を押した場合、VideoView は、その間にさらにビデオ コンテンツがダウンロードされていても、その 5% のビデオのみを表示します。

私の経験では、この問題はフレームワークを使用するデバイスには影響しませんStageFright(例: Nexus One 2.2、Nexus One 2.3.4)。

誰でも可能な解決策を教えてもらえますか? 前もって感謝します

4

2 に答える 2

2

.h264 を再生しようとしている場合は、MOV アトムをファイルの先頭に移動する必要があります。これらはコーデックに特にムービーの長さを伝えます。

qtfaststart を試す

http://ffmpeg.zeranoe.com/builds/

于 2013-08-18T17:35:53.940 に答える
1

VideoView は、Android アプリケーション フレームワークでビデオ再生のユース ケースにすぐに使用できるクラスです。内部で MediaPlayer クラスを使用して再生を実現します。MediaPlayer は、ファイル形式、コンテンツの出所などの特定の基準に基づいて、内部で利用可能なメディア フレームワークを使用します。

したがって、制限は基になるフレームワークからのものであり、VideoView ではありません。それでも VideoView が疑われる場合は、メディア プレーヤーを使用して独自のビデオ プレーヤー アクティビティを記述します。同じ結果が表示されます。

また、すべてのバージョンの Android (stagefright と読みます) がプログレッシブ ダウンロードをサポートしているわけではありません。

http サーバーからコンテンツをダウンロードするために DownloadManager クラスを使用し、クイック プレビュー用にメディア プレーヤー/ビデオ ビューへのパスを提供できる場合があります。

Shash316

于 2011-07-20T15:09:54.410 に答える