2010-03-02 30 views
0

使用System.Threading.Thread.Sleep(1000)我的datagridview的目標視頻文件列表,我想打它一個後其他在vb.net

我有以下代碼

For Each dgvRow In bout_shedule.Rows 
    vfile = dgvRow.Cells("VideoFile").value 
    player.URL = vfile 
    player.Ctlcontrols.play() 
    System.Threading.Thread.Sleep(duration * 1000) 
Next 

我也得到了視頻文件的持續時間;現在我想讓媒體播放器播放第一個視頻並停止循環;一旦它完成播放視頻,比循環繼續到第二排,但沒有什麼會發揮。我怎麼解決這個問題 ?

+0

與你的其他線程相同的答案:http://stackoverflow.com/questions/2362443/controlling-for-each-loop-in-visual-basic – 2010-03-02 20:12:47

+0

哇,這是偷偷摸摸的。 – 2010-03-02 20:19:10

回答

2

有一件事是肯定的,當你的應用程序有事件時,不要進入輪詢循環。您的視頻庫界面應該有一個「停止」事件,您需要註冊。您的代碼依賴於客戶端不會暫停視頻或倒帶的事實。

您需要找到一種方法來阻止視頻播放器對象產生停止事件。

This是到您正在使用的對象的接口的鏈接。它有一個關於玩家提供的事件的部分。您需要註冊某個事件(表示停止的事件或跳過/前進按鈕)並對其作出反應。我不能進一步解釋你應該閱讀MSDN文檔或者獲得關於GUI編程的書籍。

+0

那麼我該如何使用該事件來循環播放每個視頻 – 2010-03-02 19:52:45

+0

你能不能幫我展示一個代碼示例....? – 2010-03-02 19:55:21

+1

我需要看到player.CtlControls的接口,這是一個標準的.net對象嗎? – 2010-03-02 19:56:16