程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#視頻監控系列(8):服務器端——預覽和可被客戶端連接(5)

C#視頻監控系列(8):服務器端——預覽和可被客戶端連接(5)

編輯:關於C語言

代碼說明:

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#)幫忙分析了都沒能出來,不過倒是幫我弄得能調試源代碼 了,也是在無意中從頭到尾整理代碼的時候出來的(得到上司提醒整理代碼),極度興奮!!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved