Como abrir arquivos de mídia locais usando o controle FileOpenPicker (HTML)
[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente ]
Reproduza arquivos de áudio ou vídeo que estão no computador do usuário usando FileOpenPicker para obter acesso ao arquivo e abri-lo.
Instruções
Em um aplicativo da Windows Store em JavaScript, é possível implementar a reprodução de áudio e vídeo usando os elementos de mídia Audio e Video do HTML5. O arquivo de áudio ou vídeo é especificado como uma URL no atributo src.
A mesma abordagem funciona para a reprodução de arquivos de mídia localizados no computador do usuário. A única diferença é que você precisa criar uma URL para o arquivo local, da seguinte maneira:
- Use o FileOpenPicker para selecionar um arquivo de mídia.
- Chame URL.createObjectURL para criar uma URL de objeto para o arquivo de mídia.
- Defina o atributo src do elemento de mídia para o objeto de URL.
- Chame o método play o elemento de mídia para iniciar a reprodução.
Recursos
O FileOpenPicker não precisa de recursos especiais para acessar os arquivos no sistema de arquivos local, como as pastas Music ou Vídeo do usuário, já que o usuário tem controle total sobre qual arquivo está sendo acessado. Em relação à segurança e à privacidade, é melhor minimizar as funcionalidades que seu aplicativo usa.
Mas se o aplicativo precisar ter acesso sem a interação do usuário com as pastas Music ou Vídeo, por exemplo, se você precisar enumerar todos os arquivos de música ou vídeo na coleção do usuário e exibi-los em seu aplicativo, declare os recursos Music Library e Biblioteca de Vídeos. Veja mais informações sobre como declarar recursos em Declarações de recursos de aplicativos.
Exemplo
O exemplo a seguir usa um FileOpenPicker para obter um arquivo de mídia dos Vídeos do usuário e reproduzi-lo.
O aplicativo da Loja do Windows Phone deve usar 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();
}
});
}