2009-07-16 20 views
0

Windows Media Player SDKを使用して特定の位置でビデオを停止する方法はありますか?私は、プレーヤーを埋め込み、IWMPControls3インターフェイスが位置や時間の点で特定の時点で停止機能を持っているかどうかを調べるためにC#を使用しています。それができる場合は、どのようにそれを行うには?Windows Media Player SDKを使用して特定の位置でビデオを停止する

+1

なし、一時停止し、その後put_currentPositionを使用するのはなぜ? –

+1

一時停止し、現在位置を設定し、ビデオがその位置から再生を開始するとします。今、他のポジションでビデオを止める方法は? – Arvind

+0

位置からも読み取ることができます。タイマーを設定して位置を読み取った後、気になる位置に達するとプレーヤーを停止させます。 –

答えて

1

私はもはや技術を覚えていませんが、確かに行うことができます。ストリーム内のデータにアクセスして、オーディオやビデオの個々のフレームを再構築する方法があります。人々は正確な時間とフレーム番号を入力できるシステムを作成しており、ビデオプレーヤーはその場所にジャンプします。

あなたの質問は「方法はありますか」でしたので、答えは「はい」です。しかし、私はそれを行う方法を教えるために十分な詳細を覚えていません。

0

私はsame question hereで説明したように、あなたはCurrentPositionを制御するためにタイマーを使用することはできません。

private Timer tmrWmpPlayerPosition; 
private TimeSpan StopPosition; 

private void btn_Click(object sender, EventArgs e) 
{ 
    wmpPlayer.Ctlcontrols.currentPosition = 4; 
    StopPosition=TimeSpan.Parse("00:20:20"); 
    StopWmpPlayerTimer(); 
    StartWmpPlayerTimer(); 
} 

private void tmrWmpPlayerPosition_Tick(object sender, EventArgs e) 
{ 
    if ((Convert.ToInt32(StopPosition.TotalSeconds) != Convert.ToInt32(wmpPlayer.Ctlcontrols.currentPosition))) return; 
    wmpPlayer.Ctlcontrols.pause(); 
    StopWmpPlayerTimer(); 
} 

private void StartWmpPlayerTimer() 
{ 
    tmrWmpPlayerPosition = new Timer(); 
    tmrWmpPlayerPosition.Tick += new EventHandler(tmrWmpPlayerPosition_Tick); 
    tmrWmpPlayerPosition.Enabled = true; 
    tmrWmpPlayerPosition.Interval = 1000; 
    tmrWmpPlayerPosition.Start(); 
} 

private void StopWmpPlayerTimer() 
{ 
    if (tmrWmpPlayerPosition != null) 
     tmrWmpPlayerPosition.Dispose(); 
    tmrWmpPlayerPosition = null; 
} 
関連する問題