IWMPNetwork::bufferingProgress-Eigenschaft

[Das dieser Seite zugeordnete Feature Windows Medienwiedergabe SDK ist ein Legacyfeature. Es wurde von MediaPlayer abgelöst. MediaPlayer wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, mediaPlayer anstelle von Windows Medienwiedergabe SDK für neuen Code zu verwenden. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die bufferingProgress-Eigenschaft ruft den Prozentsatz der abgeschlossenen Pufferung ab.

Syntax

public System.Int32 bufferingProgress {get; set;}

Public ReadOnly Property bufferingProgress As System.Int32

Eigenschaftswert

Ein System.Int32-Wert , bei dem es sich um den Pufferfortschritt handelt, ausgedrückt als Prozentsatz.

Bemerkungen

Jedes Mal, wenn die Wiedergabe beendet und neu gestartet wird, wird diese Eigenschaft auf 0 zurückgesetzt. Es wird nicht zurückgesetzt, wenn die Wiedergabe angehalten wird.

Die Pufferung gilt nur für Streaminginhalte. Diese Eigenschaft ruft nur während der Laufzeit gültige Informationen ab, wenn die URL für die Wiedergabe mithilfe der AxWindowsMediaPlayer.URL-Eigenschaft festgelegt wird.

Verwenden Sie die AxWindowsMediaPlayer._WMPOCXEvents_BufferingEvent , um zu bestimmen, wann die Pufferung gestartet oder beendet wird.

Beispiele

Im folgenden Beispiel wird bufferingProgress verwendet, um den Prozentsatz der abgeschlossenen Pufferung in einer Bezeichnung als Reaktion auf das Buffering-Ereignis anzuzeigen. Im Beispiel wird ein Timer mit einem Intervall von 1 Sekunde verwendet, um die Anzeige zu aktualisieren. Das AxWMPLib.AxWindowsMediaPlayer-Objekt wird durch die Variable mit dem Namen player dargestellt.

// Add a delegate for the Buffering event.
player.Buffering += new AxWMPLib._WMPOCXEvents_BufferingEventHandler(player_Buffering);

// Create an event handler for the Buffering event.
private void player_Buffering(object sender, AxWMPLib._WMPOCXEvents_BufferingEvent e)
{
    // Determine whether buffering has started or stopped.
    if (e.start == true)
    {
        // Set the timer interval at one second (1000 miliseconds).
        timer.Interval = 1000;
        
        // Start the timer.
        timer.Start();
    }
    else
    {
        // Buffering is complete. Stop the timer.
        timer.Stop();
    }
}

// Update the buffering progress in a timer event handler.
private void UpdateBufferingProgress(object sender, EventArgs e)
{
    bufferingProgressLabel.Text = ("Buffering progress: " + player.network.bufferingProgress + " percent complete");
}

' Create an event handler for the Buffering event.
Public Sub player_Buffering(ByVal sender As Object, ByVal e As AxWMPLib._WMPOCXEvents_BufferingEvent) Handles player.Buffering

    ' Test whether packets may be arriving.
    Select Case e.newState

    ' If WMPPlayState is Stopped, Paused, ScanForward, ScanReverse, Waiting, MediaEnded
    ' or Transitioning then stop the timer. 
        Case 1
        Case 2
        Case 4
        Case 5
        Case 7
        Case 8
        Case 9
            timer.Stop()

        ' If WMPPlayState is Playing or Buffering then set the timer interval and start the timer.
        Case Else
            timer.Interval = 1000
            timer.Start()

    End Select

End Sub

' Update the buffering progress in a timer event handler.
Public Sub UpdateBufferingProgress(ByVal sender As Object, ByVal e As System.EventArgs) Handles timer.Tick

    bufferingProgressLabel.Text = ("Buffering progress: " + player.network.bufferingProgress + " percent complete")

End Sub

Anforderungen

Anforderung Wert
Version
Windows Medienwiedergabe Serie 9 oder höher
Namespace
WMPLib
Assembly
Interop.WMPLib.dll (Interop.WMPLib.dll.dll)

Siehe auch

AxWindowsMediaPlayer.URL (VB und C#)

AxWindowsMediaPlayer.Buffering-Ereignis (VB und C#)

IWMPNetzwerkschnittstelle (VB und C#)