2

これは非常に複雑であるか、私が本当に悪いです!!

私は使用してAudioVideoCaptureDeviceおり、ビデオの画像サムネイルを作成し、それを分離ストレージに保存したいと考えています。

これまでのところ、私が持っているものは次のとおりです。

    private void SaveThumbnail()
    {
        var w = (int)_videoCaptureDevice.PreviewResolution.Width;
        var h = (int)_videoCaptureDevice.PreviewResolution.Height;

        var argbPx = new int[w * h];

        Deployment.Current.Dispatcher.BeginInvoke(() => _videoCaptureDevice.GetPreviewBufferArgb(argbPx));

        var wb = new WriteableBitmap(w, h);
        argbPx.CopyTo(wb.Pixels, 0);
        wb.Invalidate();

        using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication())
        {
            var fileName = _isoVideoFileName + ".jpg";

            if (isoStore.FileExists(fileName))
                isoStore.DeleteFile(fileName);

            var file = isoStore.CreateFile(fileName);
            wb.SaveJpeg(file, w, h, 0, 20);
            file.Close();
        }
    }

そのため、GetPreviewBufferArgb()メソッドは int 配列に画像データを入力します (少なくともドキュメントに記載されているように)。これらのピクセルを分離ストレージに保存して、後でロードできるようにするにはどうすればよいですか?

上記のコードは、IsolatedStorage から画像を開くと開かないため、機能していないようです。

更新:何かを保存できるようになりました-残念ながら、画像は常に黒です(いいえ-エミュレータでアプリケーションをテストしていません)!!

4

1 に答える 1