Adobe Cirrusを使用したNetStreamステータスイベント質問
-
25-10-2019 - |
質問
基本的に私はこれを要約しようとします。 recvstream.play( "randomstring")の潜在的なランダム文字列がたくさんあります。
次に、イベントリスナーを実行する関数を5秒ごとにチェックするタイマーがあります。
recvStream.addEventListener(NetStatusEvent.NET_STATUS,
netConnectionHandler);
次に、スイッチステートメントで考えています。アクティブなストリームであるかどうかを確認して、アクティブな別のストリームを検索したり、タイマーを停止して再生したりする必要があります。
// i was thinking this would verify it's playing and then that's it
case "NetStream.Play.Start" :
trace("ITS PLAYING YOU SHOULD SEE SOMETHING");
timer.stop();
break;
// i was thinking i could use this to see if the string is nothing then the timer would run again
case "NetStream.Buffer.Empty" :
trace("THE BUFFER IS EMPTY KEEP LOOKING");
//code to look again
break;
//I also tried NetStream.Play.StreamNotFound instead of NetStream.Buffer.Empty didn't work either
しかし、それは本当にそのように機能しません。 netStream.buffer.emptyの代わりに使用すべき他の何かがありますか?または他の何かを一緒に?
Flash CS5でActionScript3を使用していて、Cirrus RTMFPを使用していますhttp://labs.adobe.com/technologies/cirrus/
解決
リスナーが添付されてそのステータスを伝えるために、タイマーをチェックする理由がわかりません。
recvStream.addEventListener(NetStatusEvent.NET_STATUS,
netStatusHandler);
// some code
private function netStatusHandler (ev:NetStatusEvent) : void {
if (ev.info.level == "error") {
trace ("Something went wrong. Try again!");
// call restart method here
return;
}
switch (ev.info.code) {
case "NetStream.Play.Start" :
trace("IT'S PLAYING YOU SHOULD SEE SOMETHING");
break;
case "NetStream.Buffer.Empty" :
trace("THE BUFFER IS NOW EMPTY.");
break;
// ... any other netstatus events you want to react upon.
}
}
明らかに、ランダムな文字列の正確性の検証を検討する必要があります 前 あなたも電話します recvStream.play()
- これは、ネットストリームを意図的に失敗させ、ネットワークに負担をかけないよりもクリーンです。
所属していません StackOverflow