如何旋转捕获的视频 (HTML)
[ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]
你可以使用 MediaCapture 类中的 SetPreviewRotation 和 SetRecordRotation 方法,旋转从相机捕获的视频。
此示例的完整代码列在本操作方法末尾。
先决条件
本主题假定你会使用 JavaScript 创建基本 Windows 应用商店应用并在该应用中使用 Windows JavaScript 库模板。有关创建第一个应用的帮助,请参阅创建第一个采用 JavaScript 的 Windows 应用商店应用。
说明
步骤 1: 创建 MediaCapture 对象
MediaCapture 类包含用于管理所捕获视频的方法和属性。要从相机捕获和旋转视频,你需要使用 InitializeAsync、StartPreviewAsync 和 SetPreviewRotation。使用 SetRecordRotation 可为正在录制的视频设置旋转。
此示例将实例化一个新的 MediaCapture 对象,并调用 InitializeAsync 以将 MediaCapture 对象初始化为默认设置。你可以将 MediaCaptureInitializationSettings 对象传入 InitializeAsync 以指定设置。
oMediaCapture = new Windows.Media.Capture.MediaCapture();
oMediaCapture.initializeAsync().then(function (result) {
步骤 2: 为录制设置视频旋转
通过将 Windows.Media.Capture.VideoRotation 枚举值传递到 MediaCapture 对象的 SetRecordRotation 方法,为录制设置 视频图像旋转。VideoRotation 枚举指定旋转视频的量,其中包含 0、90、180 和 270 度值。
oMediaCapture.setRecordRotation(Windows.Media.Capture.VideoRotation.clockwise90Degrees);
要获得用于录制的旋转值,请调用 GetRecordRotation 方法。此方法返回 VideoRotation 枚举值。
var videoRotation = oMediaCapture.getRecordRotation();
同样,用于预览视频的旋转可通过调用 GetPreviewRotation 和 SetPreviewRotation 方法进行设置。这些方法还可使用 VideoRotation 枚举值指定要旋转视频的量。
步骤 3: 录制视频
设置新的视频旋转值后,你可按照如何录制到文件主题中列出的步骤录制旋转的视频。通常,你需要在初始化 MediaCapture 对象前设置视频旋转。
var oMediaCapture;
function setRotation() {
oMediaCapture = new Windows.Media.Capture.MediaCapture();
oMediaCapture.initializeAsync().then(function (result) {
// Set the video rotation value.
oMediaCapture.setRecordRotation(Windows.Media.Capture.VideoRotation.clockwise90Degrees);
}, errorHandler);
//Check rotation value;
var videoRotation = oMediaCapture.getRecordRotation();
// Ready to start the capture session
}