Exemple : Universal Windows Platform (UWP) Media Player
Fichier MainPage.xaml
<Page
x:Class="MediaPlayerApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:MediaPlayerApp"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid>
<CommandBar DefaultLabelPosition="Right" HorizontalAlignment="Left">
<!-- Lors du clic la fonction Choose_File sera appelée -->
<AppBarButton Icon="Add" Label="Choisir un fichier" Click="Choose_File"/>
</CommandBar>
<MediaPlayerElement x:Name="mediaPlayer" AreTransportControlsEnabled="True" Margin="0,40,0,0" />
</Grid>
</Page>
La propriété Click de l'élément AppBarButton permet d'appeler la fonction Choose_File du fichier .cs lors d'un clic.
Le Code C#
using System;
using Windows.Media.Core;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace MediaPlayerApp
{
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
/// <summary>
/// Ouverture du sélecteur de fichier et lecture du média sélectionné.
/// <br />
/// Méthode asynchrone (non bloquante)
/// </summary>
/// <param name="sender">Objet source</param>
/// <param name="e">Evenement</param>
private async void Choose_File(object sender, RoutedEventArgs e)
{
/* Ouvre le sélecteur de fichier */
var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
/* Les formats acceptés par le sélecteur */
openPicker.FileTypeFilter.Add(".mp4");
openPicker.FileTypeFilter.Add(".mkv");
openPicker.FileTypeFilter.Add(".avi");
openPicker.FileTypeFilter.Add(".wmv");
openPicker.FileTypeFilter.Add(".mp3");
openPicker.FileTypeFilter.Add(".wma");
/* Attente d'un nouveau fichier. Ouverture asynchrone */
var file = await openPicker.PickSingleFileAsync();
if (file != null)
{
/* Ouverture et lecture du fichier */
mediaPlayer.Source = MediaSource.CreateFromStorageFile(file);
mediaPlayer.MediaPlayer.Play();
}
}
}
}
Commentaires
Enregistrer un commentaire