Главная » C#, Windows Runtime, XAML, Разработка для Windows 8 » Преобразование видео Windows Runtime

0

Еще одним полезным классом является MediaTranscoder, который  позволяет выполнять преобразование  видео из одного формата в другой. Эта задача будет часто возникать перед разработчиками, так  как  все  планшеты оборудованы различными типами камер, и пользователь наверняка захочет воспользоваться ими.  Но  снимать  видео и  публиковать его  в   сеть  —  разные  вещи. Перед публикацией  пользователю нужно дать возможность просмотреть материал, вырезать нужный кусок и преобразовать  видео в тот формат, который позволит загрузить его в сеть (вряд ли он захочет и будет иметь возможность публиковать Full HD видео).

В следующей главе мы расскажем, как работать с файлами, но тут  есть масса возможностей,  в  результате которой можно получить  ссылку на объект типа StorageFile.   Хотя   объект   типа   MediaTranscoder   позволяет  работать   как с файлами, так и с потоками.

Итак,  если у нас есть ссылка на файл или  поток, который нам  необходимо преобразовать,  то   первым  шагом   нам   необходимо    создать   профиль, описывающий параметры выходного файла. Это можно сделать одним из трех способов:

Воспользоваться      готовыми      профилями.      Для      этого      в      классе MediaEncodingProfile    существует  несколько    методов,    например   метод CreateMp4,  принимающий  в   качестве параметров  значение перечислимого типа, задающего качество. В этом случае наш код будет выглядеть очень просто:

MediaEncodingProfile profile= MediaEncodingProfile.CreateMp4(VideoEncodingQuality.HD720p);

Создать    профиль    на    основе    файла.    Методы     CreateFromFileAsync и CreateFromStreamAsync позволяют создать  профиль на основе файла или потока. Это полезно в  случае, когда вы хотите урезать файл или создать новый на основе определенного шаблона;

Создать  собственный  профиль.  В  классе  MediaEncodingProfile   имеется конструктор,  который  позволяет создать  пустой  профиль   для  заполнения разработчиком.

Выбрав    один   из    доступных   методов  по   созданию   профиля,    можно перейти   к   кодированию.  Для   этого   достаточно   создать    объект   типа MediaTrascoder  и   вызвать один  из   методов:   PrepareFileTranscodeAsync, PrepareStreamTranscodeAsync. Оба метода принимают в  качестве параметров источник, выходной файл или поток и профиль.

Если  Вы  хотите  урезать  длину  файла,  то  MediaTranscoder  обладает  двумя полезными свойствами, это TrimStartTime и TrimStopTime, которые позволяют указать интервал медиа, который необходимо урезать в начале и в конце.

Сергей Лутай, Сергей Байдачный, Windows 8 для C# разработчиков

По теме:

  • Комментарии