【发布时间】:2015-06-08 13:18:22
【问题描述】:
我已使用 AudioVideoCapture 设备录制视频,但无法获取录制视频的缩略图。请帮帮我!
【问题讨论】:
-
这里回答了这个问题[如何获取录制视频的缩略图 - windows phone 8][1] [1]:stackoverflow.com/questions/15271922/…
标签: video windows-phone-8
我已使用 AudioVideoCapture 设备录制视频,但无法获取录制视频的缩略图。请帮帮我!
【问题讨论】:
标签: video windows-phone-8
你可以试试这个。如果您使用的是 AudioVideoCaptureDevice api。在每帧捕获后进行以下事件(预览缩略图)调用。您可以选择任何您需要的框架。以第一个为例。
private AudioVideoCaptureDevice VideoRecordingDevice;
VideoRecordingDevice.PreviewFrameAvailable += previewThumbnail;
bool DisablePreviewFrame = false;
private void previewThumbnail(ICameraCaptureDevice a, object b)
{
if (!DisablePreviewFrame)
{
DisablePreviewFrame = true;
int frameWidth = (int)VideoRecordingDevice.PreviewResolution.Width;
int frameHeight = (int)VideoRecordingDevice.PreviewResolution.Height;
}
int[] buf = new int[frameWidth * frameHeight];
VideoRecordingDevice.GetPreviewBufferArgb(buf);
using (IsolatedStorageFile isoStoreFile = IsolatedStorageFile.GetUserStoreForApplication())
{
var fileName = "temp.jpg";
if (isoStoreFile.FileExists(fileName))
isoStoreFile.DeleteFile(fileName);
using (IsolatedStorageFileStream isostream = isoStoreFile.CreateFile(fileName))
{
WriteableBitmap wb = new WriteableBitmap(frameWidth, frameWidth);
Array.Copy(buf, wb.Pixels, buf.Length);
wb.SaveJpeg(isostream, 120, 120, 0, 60);
isostream.Close();
}
}
}
【讨论】: