1

Windows Phone 8 アプリでビデオをバッファリングする方法はありますか?

ユーザーが画面をタップして、画面をタップする前に撮影された 30 秒間のビデオを含むビデオ ファイルを取得できるように、ビデオの最後の 30 秒程度をバッファリングするアプリを作成したいと考えています。

.NET CaptureSource API と WP8 のみの AudioVideoCaptureDevice の両方を見てきましたが、どちらも次のファイルに直接記録しているように見えますIsolatedStorage

  1. CaptureSource では、FileSink オブジェクトを使用して、録画したビデオの mp4 ファイルを書き込みます。

  2. AudioVideoCaptureDevice書き込むことができるからRandomAccessStreamです。ただし、 WP8にはありませんInMemoryRandomAccessStream。そのため、取得する唯一の方法はRandomAccessStream、ストレージファイルから作成することです。

独自のVideoSinkCaptureSourceクラスを作成してビデオをバッファリングし、それを FileSink の代わりに使用することもできますが、Raw ビデオ データの操作に行き詰まり、独自のエンコーダを作成して正式な形式にする必要があります。 mp4。

欠けているものはありますか、または独自のエンコーダーを作成しない限り、WP8 でビデオをバッファリングすることはできませんか?

4

1 に答える 1

0

これができるかどうかはわかりません...さまざまな理由で...ビデオをメモリにキャッシュして、IRandomAccessStreamの独自の実装を作成できるかもしれませんが...ご指摘のとおり、RAWビデオで最初のインスタンスで再生する必要があります、および解像度によっては、30 秒間の生のビデオとオーディオが、アプリケーションに許可されているメモリの合計を超える可能性があるため、システムによってアプリが閉じられる可能性があります。

メディア要素を使用してビデオを再生できるかどうかはわかりません。ユーザーに表示せずに、ユーザーが再生をクリックすると、開始位置に巻き戻してユーザーに表示します。これは、OS がストリーミングされたビデオを自動的にキャッシュするためです (これは良いアイデア...とにかくこれをテストしません....)

もっと便利に始められなくてごめんなさい:(

于 2013-08-02T12:54:52.897 に答える