AxWindowsMediaPlayer オブジェクトの PlayStateChange イベント
[このページWindows メディア プレーヤー SDK に関連付けられている機能は、レガシ機能です。 MediaPlayer に置き換わりました。 MediaPlayer は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能な場合は SDK ではなく MediaPlayerWindows メディア プレーヤー使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
PlayStateChange イベントは、Windows メディア プレーヤー コントロールの再生状態が変化したときに発生します。
[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
イベント データ
このイベントに関連付けられているハンドラーは、 AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler型です。 このハンドラーは、このイベントに関連する次のプロパティを含む 、AxWMPLib._WMPOCXEvents_PlayStateChangeEvent型の引数を受け取ります。
プロパティ | 説明 |
---|---|
newState | System.Int32新しい状態を指定します。 |
解説
Windows メディア プレーヤー状態は、特定の順序で発生することは保証されません。 さらに、すべての状態が一連のイベント中に必ずしも発生するとは限りません。 状態の順序に依存するコードを記述しないでください。
例
次の例では、現在の再生状態をラベルに表示する PlayStateChange イベントのイベント ハンドラーを示します。 AxWMPLib.AxWindowsMediaPlayer オブジェクトは、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
要件
要件 | 値 |
---|---|
Version |
Windows メディア プレーヤー 9 シリーズ以降 |
名前空間 |
AxWMPLib |
アセンブリ |
|
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示