Поделиться через


Как повернуть записанное видео (HTML)

[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. В случае разработки приложений для Windows 10 см. раздел последняя документация]

Используя методы SetPreviewRotation и SetRecordRotation класса MediaCapture, вы можете поворачивать видео, захваченное с камеры.

Полный код примера приведен в конце этого документа.

Необходимые условия

Предполагается, что вы умеете создавать простые приложения Магазина Windows на JavaScript с помощью шаблона из библиотеки Windows для JavaScript. Дополнительные сведения о том, как начать создавать приложение, см. в разделе Создание первого приложения Магазина Windows на JavaScript.

Инструкции

Этап 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 методу SetRecordRotation объекта MediaCapture. Перечисление 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   
}

Связанные разделы

Образец захвата мультимедийного содержимого