2011-01-27 3 views
1

В основном я попытаюсь подвести итог. У меня есть куча потенциальных случайных строк для recvStream.play ("randomstring");Вопрос о статусе статуса netStream с использованием Adobe Cirrus

тогда у меня есть таймер проверки каждые 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? Или что-то еще вместе?

Я использую Actionscript 3 в Flash CS5 и я использую Cirrus RTMFP http://labs.adobe.com/technologies/cirrus/

ответ

0

Я не понимаю, почему вы бы иметь чек с использованием таймера потока, когда у вас есть слушатель приложенный сказать вы о его статусе:

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() - который был бы чище, чем намеренно давая вашей NetStream терпят неудачу, и не напрягает сети.

Смежные вопросы