2011-01-27 1 views
1

기본적으로 시도해 보겠습니다. recvStream.play ("randomstring")에 대해 임의의 임의의 문자열이 있습니다. 내가 그것을가 활성 스트림의 여부를 여부를 확인하는 데 사용할 수있는 스위치 문에서Adobe Cirrus를 사용하여 netStream 상태 이벤트 질문

recvStream.addEventListener(NetStatusEvent.NET_STATUS, 
    netConnectionHandler); 

다음 생각 메신저 : 다음

난 이벤트 리스너를 실행하는 기능을 5 초마다 체크 타이머를 가지고 활성 상태 여야하는 다른 스트림을 검색하거나 타이머를 중지하고 재생되도록하십시오.

// 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 대신 다른 것을 사용해야합니까? 아니면 다른 무엇인가?

내가 플래시 CS5에서 ActionScript 3을 사용하고 있는데 당신은 청취자가 말할 부착이 때, 당신은 타이머를 체크합니다 스트림이있을 것이다 왜하지 않는 러스 RTMFP http://labs.adobe.com/technologies/cirrus/

답변

0

을 사용하고 있습니다 그 상태에 대한 당신은 : - 의도적 NetStream을 실패시키는 것보다 청소기 될 것이라고하고, 네트워크를 변형하지 당신도 recvStream.play() 전화 전에

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. 
    } 
} 

물론, 당신은 또한 당신의 임의의 문자열의 정확성을 확인하는 것이 좋습니다.