代碼說明:
1.將Form2_Load中最後一行代碼 StartVideoPreview替換成PreviewAndClIEntConnect調用即可。
2.調用注釋前面帶了"[必須]"的方法是必須調用的,而被我 的注釋掉的方法參照源代碼可以加也可以不加,因為他是有默認設置的。
3.MakeIFrame這個回調函數是客戶端連接服務器的關鍵,如果 沒有執行這個回調客戶端將不能夠連接並顯示畫面!
4.STREAM_DIRECT_READ_CALLBACK1回調函數在VC++代碼說明裡面已經說明了,因為 本章不寫視頻存儲,所以把其他代碼都注釋掉了,只管往內存寫數據就行了。
注意
1.StartVideoPrevIEw的參數用結構體RECT會 報錯,直接使用Rectangle結構體即可。
2.使用GetDspCount總是只返回可用的Dsp數量,而用GetTotalDSPs可以獲取所有的Dsp數量。
3.再強調一遍,雖然我這裡沒有把委托實例化成 成員變量,也能調試通過,但是強烈建議您把這些都寫成 成員變量然後在窗體初始化 時初始化!
4.本文是後續服務器端文章的基礎,務必細心調試,我敢說如果本文的功能你達到了——你的服務器端可以說完 成了60%!!
修改記錄
1.2009-3-30
將STREAM_DIRECT_READ_CALLBACK聲明為成員變量,發現不聲明成成員變量在VS裡面 調試可以運行通過(有時候),但是直接運行exe文件會報內存出錯!!
結束
這篇文章在我研究的時候花了將近1個多星期,主要 症狀就是能預覽,客戶端死活都看不到畫面,能連接!!甚至找了VC++牛人(不會C#)幫忙分析了都沒能出來,不過倒是幫我弄得能調試源代碼 了,也是在無意中從頭到尾整理代碼的時候出來的(得到上司提醒整理代碼),極度興奮!!