Propriété IWMPMedia::duration
[La fonctionnalité associée à cette page, Le Kit de développement logiciel (SDK) du Lecteur multimédia Windows, est une fonctionnalité héritée. Elle a été remplacée par MediaPlayer. MediaPlayer a été optimisé pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer au lieu du SDK du Lecteur multimédia Windows, lorsque cela est possible. Microsoft recommande, si possible, la réécriture du code existant qui utilise les API héritées pour être à jour avec les nouvelles API.]
La propriété durée donne la durée en secondes de l’élément multimédia actuel.
Cette propriété est en lecture seule.
Syntaxe
public System.Double duration {get;}
Public ReadOnly Property duration As System.Double
Valeur de la propriété
Un System.Double qui est la durée en secondes.
Notes
Si cette propriété est utilisée avec un élément multimédia autre que celui spécifié dans AxWindowsMediaPlayer.currentMedia, il peut ne contenir aucune valeur valide.
Pour récupérer la durée des fichiers ne se trouvant pas dans la bibliothèque de l’utilisateur, vous devez attendre l’ouverture du fichier par le Lecteur multimédia Windows. Autrement dit, l’OpenState actuel doit être égal à MediaOpen. Vous pouvez le vérifier en gérant l’événement AxWindowsMediaPlayer._WMPOCXEvents_OpenStateChange ou en vérifiant de manière périodique la valeur d’AxWindowsMediaPlayer.openState.
Pour les playlists, la durée de chaque élément multimédia peut être récupérée lorsqu’il est ouvert, plutôt qu’à l’ouverture de la playlist.
Avant d’utiliser cette propriété, vous devez disposer d’un accès en lecture à la bibliothèque. Pour plus d’informations, consultez Accès à la bibliothèque.
Exemples
L’exemple suivant utilise la propriété durée pour afficher le temps restant dans l’élément multimédia actuel dans une étiquette. Un minuteur met à jour le texte de l’étiquette toutes les secondes.
// Set the timer to fire an event every second and start the timer.
timer.Interval = 1000;
timer.Start();
// Note: Use the AxWindowsMediaPlayer.PlayStateChange event with a switch statement to
// determine when to start and stop the timer.
private void TimerEventProcessor(object sender, System.EventArgs e)
{
// Subtract the current position from the duration of the current media to get
// the time remaining. Use the Math.floor method to round the result down to the
// nearest whole number.
double t = Math.Floor(player.currentMedia.duration - player.Ctlcontrols.currentPosition);
// Display the time remaining in the current media.
timeRemaining.Text = ("Seconds remaining: " + t.ToString());
}
' Set the timer to fire an event every second and start the timer.
Timer.Interval = 1000
Timer.Start()
' Note: Use the AxWindowsMediaPlayer.PlayStateChange event with a Select Case statement to
' determine when to start and stop the timer.
Public Sub TimerEventProcessor(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer.Tick
' Subtract the current position from the duration of the current media to get
' the time remaining. Use the Math.Floor method to round the result down to the
' nearest whole number.
Dim t As Double = Math.Floor(player.currentMedia.duration - player.Ctlcontrols.currentPosition)
' Display the time remaining in the current media.
timeRemaining.Text = ("Seconds remaining: " + t.ToString())
End Sub
Configuration requise
Condition requise | Valeur |
---|---|
Version |
Lecteur multimédia Windows série 9 ou ultérieure |
Espace de noms |
WMPLib |
Assembly |
|
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour