參考資料 : http://www.toybot.nl/blog/?p=28
( 雖然文中方法是用在正統的 Flash Media Server 上,但是理念是相同的。)
簡單來說,這個錯誤發生的原因是因為串流傳送到伺服器時,會對用戶端的頻寬進行測試,並給予適當的傳輸限制。因為我是將串流傳送到 webapps/oflaDemo 下,看了一下原始碼,果然...
public boolean appConnect(IConnection conn, Object[] params) {
// Trigger calling of "onBWDone", required for some FLV players
measureBandwidth(conn);
if (conn instanceof IStreamCapableConnection) {
IStreamCapableConnection streamConn = (IStreamCapableConnection) conn;
SimpleConnectionBWConfig bwConfig = new SimpleConnectionBWConfig();
bwConfig.getChannelBandwidth()[IBandwidthConfigure.OVERALL_CHANNEL] =
1024 * 1024;
bwConfig.getChannelInitialBurst()[IBandwidthConfigure.OVERALL_CHANNEL] =
128 * 1024;
streamConn.setBandwidthConfigure(bwConfig);
}
}
解決方法也很簡單,只要對你的 NetConnection 物件的 client 屬性指到 this,
var nc:NetConnection = new NetConnection();
nc.client = this;
和實作下面這個方法就行了
public function onBWDone():void
{
//codes...
}
沒有留言:
張貼留言