PlayStateChange Event of the AxWindowsMediaPlayer Object
[The feature associated with this page, Windows Media Player SDK, is a legacy feature. It has been superseded by MediaPlayer. MediaPlayer has been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer instead of Windows Media Player SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The PlayStateChange event occurs when the play state of the Windows Media Player control changes.
[C#]
private void player_PlayStateChange(
object sender,
_WMPOCXEvents_PlayStateChangeEvent e
)
[Visual Basic]
Private Sub player_PlayStateChange(
sender As Object,
e As _WMPOCXEvents_PlayStateChangeEvent
) Handles player.PlayStateChange
The handler associated with this event is of type AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler. This handler receives an argument of type AxWMPLib._WMPOCXEvents_PlayStateChangeEvent, which contains the following property related to this event.
Property | Description |
---|---|
newState | System.Int32Specifies the new state. |
Windows Media Player states are not guaranteed to occur in any particular order. Furthermore, not every state necessarily occurs during a sequence of events. You should not write code that relies upon state order.
The following example demonstrates an event handler for the PlayStateChange Event that displays the current play state in a label. The AxWMPLib.AxWindowsMediaPlayer object is represented by the variable named player.
// Add a delegate for the PlayStateChange event.
player.PlayStateChange += new AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler(player_PlayStateChange);
private void player_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
// Test the current state of the player and display a message for each state.
switch (e.newState)
{
case 0: // Undefined
currentStateLabel.Text = "Undefined";
break;
case 1: // Stopped
currentStateLabel.Text = "Stopped";
break;
case 2: // Paused
currentStateLabel.Text = "Paused";
break;
case 3: // Playing
currentStateLabel.Text = "Playing";
break;
case 4: // ScanForward
currentStateLabel.Text = "ScanForward";
break;
case 5: // ScanReverse
currentStateLabel.Text = "ScanReverse";
break;
case 6: // Buffering
currentStateLabel.Text = "Buffering";
break;
case 7: // Waiting
currentStateLabel.Text = "Waiting";
break;
case 8: // MediaEnded
currentStateLabel.Text = "MediaEnded";
break;
case 9: // Transitioning
currentStateLabel.Text = "Transitioning";
break;
case 10: // Ready
currentStateLabel.Text = "Ready";
break;
case 11: // Reconnecting
currentStateLabel.Text = "Reconnecting";
break;
case 12: // Last
currentStateLabel.Text = "Last";
break;
default:
currentStateLabel.Text = ("Unknown State: " + e.newState.ToString());
break;
}
}
Public Sub player_PlayStateChange(ByVal sender As Object, ByVal e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles player.PlayStateChange
' Test the current state of the player, display a message for each state.
Select Case e.newState
Case 0 ' Undefined
currentStateLabel.Text = "Undefined"
Case 1 ' Stopped
currentStateLabel.Text = "Stopped"
Case 2 ' Paused
currentStateLabel.Text = "Paused"
Case 3 ' Playing
currentStateLabel.Text = "Playing"
Case 4 ' ScanForward
currentStateLabel.Text = "ScanForward"
Case 5 ' ScanReverse
currentStateLabel.Text = "ScanReverse"
Case 6 ' Buffering
currentStateLabel.Text = "Buffering"
Case 7 ' Waiting
currentStateLabel.Text = "Waiting"
Case 8 ' MediaEnded
currentStateLabel.Text = "MediaEnded"
Case 9 ' Transitioning
currentStateLabel.Text = "Transitioning"
Case 10 ' Ready
currentStateLabel.Text = "Ready"
Case 11 ' Reconnecting
currentStateLabel.Text = "Reconnecting"
Case 12 ' Last
currentStateLabel.Text = "Last"
Case Else
currentStateLabel.Text = ("Unknown State: " + e.newState.ToString())
End Select
End Sub
Requirement | Value |
---|---|
Version |
Windows Media Player 9 Series or later |
Namespace |
AxWMPLib |
Assembly |
|