說實話真的很鬱悶,高級語言的優點很多,缺點就是什麼東西都給你定製封裝的很好,接口也很簡單,使開發人員無需關心底層的代碼。FLEX的VDIEODISPLAY是一個專業的網絡媒體播放器,指定服務器的URL就可以開始播放媒體數據。查了一下提到的關聯DynamicStreamingVideoSource也是一個封裝好的網絡數據對象,控制起來完全沒有意義。flash.media.video也是一個讓C程序員很鬱悶的東西。
把流媒體數據放進播放器,這個是個多麼基礎的功能啊,一遇到這些事情就開始懷念C++的好處了。
可能是因爲這套系統的定位構架在於專業C/S流媒體服務上吧,必須需要獨立的media server來做服務,而client儘量少參與或者不參與服務以內的工作,這樣可以很好的劃分系統的功能。難道結論只有server端實現RTMP服務了嗎?坑爹啊!!
看能否自己寫或者改一個播放器吧。Orz 你丫再不支持,難道坐等FLEX 5.0
下午繼續努力,又仔細翻閱了FLEX的幫助文檔,找到一個可行的方法。
自定義代碼封裝使用 flash.net.netstream來承載視頻流, 作爲播放對象,交給player 來performance,這可能是個方法。如過需要測試,需要服務器的支持。不過在使用之前最好先封裝一下FLEX的SOCKET(flash.net.socket),還要做緩衝池,緩衝交換隊列等等。不過終於有思路的,辛苦沒有白費。
(netstream 是一個網絡專用數據流的連接容器,本身用它來接收網絡連接的bytes流,不過可以給這個對象添加新的mem buffer,這個方法估計是現階段最好的方法了)