如何从 Windows Store 应用中的视频获取缩略图?
How to get thumbnail from a video in Windows Store app?
我目前正在开发一款具有录制视频功能的应用程序。我知道如何录制视频并将其保存在应用程序的 localFolder
中。我的问题是我需要在用户录制视频后向他显示缩略图。因此,为此我想从录制的视频中提取第一帧。最终视频存储在 StorageFile
对象中,但我不知道如何从 StorageFile
对象获取图像。
任何人都可以用一些示例代码建议我该怎么做。我正在使用默认相机 API 来录制视频。我的代码如下
private async void CaptureVideo()
{
CameraCaptureUI cameraUI = new CameraCaptureUI();
cameraUI.VideoSettings.Format=CameraCaptureUIVideoFormat.Mp4;
cameraUI.VideoSettings.MaxDurationInSeconds = 10;
StorageFile capturedVideo = await cameraUI.CaptureFileAsync(CameraCaptureUIMode.Video);
string videoName="video_" + GetDateTimestamp() +".mp4";
if(capturedVideo !=null)
{
saveVideoandShowThumbnail(capturedVideo, videoName);
}
}
这里saveVideoandShowThumbnail()方法是将视频存入Videos文件夹并生成缩略图。
StorageFile.GetThumbnailAsync() 解决了我的问题。我尝试使用以下代码显示视频中的图像。希望对某人有所帮助
bitmap = new BitmapImage();
bitmap.SetSource(await videoFile.GetThumbnailAsync(ThumbnailMode.SingleItem));
我目前正在开发一款具有录制视频功能的应用程序。我知道如何录制视频并将其保存在应用程序的 localFolder
中。我的问题是我需要在用户录制视频后向他显示缩略图。因此,为此我想从录制的视频中提取第一帧。最终视频存储在 StorageFile
对象中,但我不知道如何从 StorageFile
对象获取图像。
任何人都可以用一些示例代码建议我该怎么做。我正在使用默认相机 API 来录制视频。我的代码如下
private async void CaptureVideo()
{
CameraCaptureUI cameraUI = new CameraCaptureUI();
cameraUI.VideoSettings.Format=CameraCaptureUIVideoFormat.Mp4;
cameraUI.VideoSettings.MaxDurationInSeconds = 10;
StorageFile capturedVideo = await cameraUI.CaptureFileAsync(CameraCaptureUIMode.Video);
string videoName="video_" + GetDateTimestamp() +".mp4";
if(capturedVideo !=null)
{
saveVideoandShowThumbnail(capturedVideo, videoName);
}
}
这里saveVideoandShowThumbnail()方法是将视频存入Videos文件夹并生成缩略图。
StorageFile.GetThumbnailAsync() 解决了我的问题。我尝试使用以下代码显示视频中的图像。希望对某人有所帮助
bitmap = new BitmapImage();
bitmap.SetSource(await videoFile.GetThumbnailAsync(ThumbnailMode.SingleItem));