Langage: HTML | XAML

Comment ouvrir des fichiers multimédias locaux à l’aide du contrôle FileOpenPicker (XAML)

Applies to Windows and Windows Phone

Définissez un flux de fichiers audio ou vidéo local comme source de média d’un objet MediaElement à l’aide du contrôle FileOpenPicker.

Feuille de route : comment cette rubrique s’articule-t-elle par rapport aux autres ? Voir :

Prérequis

Dans cette rubrique, nous partons du principe que vous savez créer une application Windows Runtime de base en C++, C# ou Visual Basic. Pour obtenir de l’aide lors de la création de votre première application, voir Créer votre première application du Windows Store en C# ou Visual Basic.

Cette rubrique considère que vous connaissez la classe MediaElement. Pour une introduction sur l’utilisation de la classe MediaElement, voir Démarrage rapide : vidéo et audio.

Instructions

Étape 1: Introduction

Dans une application Windows Runtime en C++, C# ou Visual Basic, servez-vous de la classe MediaElement pour lire un média audio ou vidéo. La propriété Source spécifie le fichier multimédia à lire. Il peut s’agir d’un fichier sur le réseau, d’un fichier appartenant à l’application ou d’un fichier sur le système local.

Pour lire des fichiers sur le réseau ou des fichiers incorporés à l’application, affectez à la propriété Source le chemin d’accès du fichier. Pour plus d’informations, voir Comment lire des fichiers multimédias à partir du réseau.

Pour ouvrir des fichiers sur le système local ou à partir de Microsoft OneDrive, vous pouvez utiliser FileOpenPicker pour obtenir le fichier et SetSource pour définir la source de média.

Dans cette rubrique, nous allons voir comment définir la source de média à l’aide du contrôle FileOpenPicker.

Pour obtenir des informations sur les formats de média audio et vidéo pris en charge dans les applications du Windows Store, voir Formats audio et vidéo pris en charge.

Étape 2: Fonctionnalités

Le contrôle FileOpenPicker ne nécessite pas de fonctionnalités spéciales pour accéder aux fichiers résidant sur le système de fichiers local, comme les dossiers Music ou Vidéo de l’utilisateur, car ce dernier bénéficie d’un contrôle total sur l’accès aux fichiers. Du point de vue de la sécurité et de la confidentialité, il est préférable de limiter le nombre de fonctionnalités utilisées par votre application.

Mais si votre application a besoin d’accéder aux dossiers Music ou Vidéo sans l’interaction de l’utilisateur, par exemple si vous énumérez tous les fichiers de musique ou vidéo de la collection de l’utilisateur pour ensuite les afficher dans votre application, vous devez déclarer les fonctionnalités Music Library et Vidéothèque. Pour plus d’informations sur la déclaration de fonctionnalités, voir Déclaration de fonctionnalités d’application.

Étape 3: Créer un objet MediaElement

Créez un objet MediaElement et attribuez-lui une propriété Name. Le fait de nommer l’objet le rend facilement accessible dans le code-behind.


<MediaElement Name="mediaControl" Height="400" />


Étape 4: Utiliser la classe OpenFilePicker pour récupérer le fichier

Utilisez la classe FileOpenPicker pour sélectionner un fichier multimédia. Définissez FileTypeFilter pour spécifier les types de fichiers que FileOpenPicker doit afficher. Appelez la méthode PickSingleFileAsync pour lancer le sélecteur de fichiers et obtenir le fichier.

Une application du Windows Phone Store doit utiliser pickSingleFileAndContinue.


var openPicker = new Windows.Storage.Pickers.FileOpenPicker();

openPicker.FileTypeFilter.Add(".wmv");
openPicker.FileTypeFilter.Add(".mp4");
openPicker.FileTypeFilter.Add(".wma");
openPicker.FileTypeFilter.Add(".mp3");

var file = await openPicker.PickSingleFileAsync();


Étape 5: Définir la source et lire le fichier de média

Pour définir la propriété Source de l’objet MediaElement sur l’objet StorageFile retourné par l’objet FileOpenPicker, nous devons ouvrir un flux. La méthode OpenAsync de l’objet StorageFile retourne un flux que vous pouvez transmettre à la méthode MediaElement.SetSource. Ensuite, appelez la méthode Play sur l’objet MediaElement pour démarrer le fichier de média.


var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);

// mediaControl is a MediaElement defined in XAML
if (null != file)
{
    mediaControl.SetSource(stream, file.ContentType);

    mediaControl.Play();
}


Exemple complet

Cet exemple montre le code complet permettant de choisir un fichier à l’aide de FileOpenPicker et de lui attribuer la propriété Source d’un objet MediaElement.


<MediaElement Name="mediaControl" Height="400" />



async private void SetLocalMedia()
{
    var openPicker = new Windows.Storage.Pickers.FileOpenPicker();

    openPicker.FileTypeFilter.Add(".wmv");
    openPicker.FileTypeFilter.Add(".mp4");
    openPicker.FileTypeFilter.Add(".wma");
    openPicker.FileTypeFilter.Add(".mp3");

    var file = await openPicker.PickSingleFileAsync();

    var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);

    // mediaControl is a MediaElement defined in XAML
    if (null != file)
    {
        mediaControl.SetSource(stream, file.ContentType);

        mediaControl.Play();
    }
}


Rubriques associées

Feuille de route pour la création d’applications du Windows Store en C#, C++ ou Visual Basic
Comment ouvrir des fichiers multimédias à partir du réseau
Démarrage rapide : vidéo et audio
Exemple de lecture de contenu multimédia XAML
Windows.Media
MediaElement
Lecture de contenu multimédia de A à Z

 

 

Afficher:
© 2014 Microsoft