Как открывать локальные файлы мультимедиа с помощью элемента управления FileOpenPicker (HTML)
[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. В случае разработки приложений для Windows 10 см. раздел последняя документация]
Воспроизводите звуковые или видеофайлы на компьютере пользователя, используя FileOpenPicker для получения доступа к файлу и его открытия.
Инструкции
В приложении Магазина Windows на JavaScript вы можете реализовать воспроизведение звука и видео с помощью HTML5 Audio и элементов мультимедиа Video. Звуковой или видеофайл задается как URL-адрес в атрибуте src.
Такой же подход применим и для воспроизведения файлов мультимедиа, расположенных на компьютере пользователя. Единственная разница в том, что необходимо создать URL-адрес для локального файла:
- Вызовите метод FileOpenPicker, чтобы выбрать файл мультимедиа.
- Вызовите метод URL.createObjectURL, чтобы создать объект URL-адреса для файла мультимедиа.
- Присвойте атрибуту src элемента мультимедиа значение, равное объекту URL-адреса.
- Вызовите метод play элемента мультимедиа, чтобы запустить воспроизведение.
Возможности
FileOpenPicker не требует специальных возможностей для доступа к файлам в локальной файловой системе, таким как папки Music или Видео пользователя, поскольку пользователь может полностью контролировать, к какому файлу выполняется доступ. С точки зрения безопасности и конфиденциальности лучше свести к минимуму число возможностей, используемых приложением.
Но если приложению нужен доступ без взаимодействия с пользователем к папкам Music или Видео (например, если вы перечисляете все файлы музыки и видео в коллекции пользователя и отображаете их в своем приложении), то необходимо декларировать возможности Music Library и библиотеки видеозаписей. Подробнее: Объявления возможностей приложения.
Пример
В следующем примере используется FileOpenPicker для получения и воспроизведения файла мультимедиа из видеозаписей пользователя.
Приложения Магазина Windows Phone должны использовать pickSingleFileAndContinue.
function playVideo() {
var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
openPicker.pickSingleFileAsync().then(function (fileItem) {
if (fileItem) {
var video = document.getElementById("myVideo");
video.src = URL.createObjectURL(fileItem);
video.play();
}
});
}