2010-05-30 47 views
0

溢出。我有一個應用程序應該通過DirectShowSource轉換視頻。
我有一個複選框,它啓用了一個名爲「btnviewcrop」的按鈕,它顯示了一個名爲crp.vb的新窗體,用於裁剪/剪切視頻中的像素。VB.NET - 無法使視頻預覽工作

現在,我有一個Panel1,我想設置爲所有者(視頻繪圖表面),但是當我將其設置爲打開時,應用程序崩潰(錯誤:對象引用未設置爲對象的實例)。我不明白如何解決它。

這裏是我的按鈕代碼:

Imports Microsoft.DirectX.AudioVideoPlayback 
Private Sub btnviewcrop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnviewcrop.Click 
    Me.ShowInTaskbar = False 
    Me.Enabled = False 
    crp.Show() 
    Dim cropperv As Video 
    cropperv.Owner = crp.preview 'VS2010 reports that cropperv has been used before being assigned a value' 
    cropperv.FromFile(labinputfile.Text, True) 
    cropperv.Play() 
End Sub 

回答

0

我不認爲你曾經分配什麼cropperv。您的意思是

Dim cropperv As New DirectX.AudioVideoPlayback 
+0

不,我直接從DevX源代碼中提取這個,並且改爲AudioVideoPlayback,VS2010報告預期的類型是'Audio','Video'或'StateFlags'。 我忘了提及我在.NET框架4.0工作,是的,我修復了不兼容的框架問題。 (我已經有一部分程序成功地獲得了高度,寬度,幀率和長度。) – 2010-05-31 12:03:15

+0

@Yiu:我不知道這些類中的任何一個是做什麼的。我的觀點不是課程名稱,而是缺少「新」。 – 2010-05-31 12:12:24

+0

啊,我看到現在做了什麼。我需要將它變暗爲「新」實例,因爲它不是一個變量,而是一個對象。 – 2010-06-01 12:07:35

0

好一點,如果我這樣做:

Dim cropperv As New Video(labinputfile.Text, True) 
cropperv.Owner = crp.preview 
cropperv.Play() 

然後,所有的工作了罰款之外所做的調整需求。 我很感謝Matti的幫助。