2012-04-18 3 views
2

을 재생하고 라디오 플레이어를 플래시에 설치하고 있습니다. 플레이어에서 모든 BBC 라디오 방송국을 작동시켜야합니다.플래시 AS3 라디오 플레이어 BBC 라디오

AAC 스트림을 사용하려고하는데 AAC 스트림을 읽는 데 필요한 ActionScript 3 코드가 약간 있지만 BBC 라디오 스트림에서 제대로 작동하지 않는 것 같습니다. 내가받을 오류 메시지는 다음과 같습니다. NetStream.Play.StreamNotFound하지만 스트림이 WinAmp에서 정상적으로 작동합니다.

는 (BBC 라디오 3) 내가 재생하려고 샘플 AAC 스트림입니다 :

http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lc1_radio3_q?s=1334749463&e=1334763863&h=3bc870c82d1e1f360d8cfc1d296d97c2

이 내가 스트림 재생 사용하고있는 AS3 클래스입니다 :

package play { 

import flash.net.NetConnection; 
import flash.net.NetStream; 
import flash.events.NetStatusEvent; 
import flash.events.AsyncErrorEvent; 

public class aacplay { 

    private var netConn:NetConnection=new NetConnection(); 
    private var netStrm:NetStream; 
    private var urlStr:String; 

    public function aacplay(radiourl) { 
     urlStr=radiourl; 
     connect(); 
    } 

    private function connect():void{ 
     netConn.close(); 
     netConn=new NetConnection(); 
     netConn.addEventListener(NetStatusEvent.NET_STATUS,netStatusHdlr); 
     netConn.addEventListener(AsyncErrorEvent.ASYNC_ERROR,asyncErrorHdlr); 
      netConn.connect(null); 
     } 

     private function netStatusHdlr(e:NetStatusEvent):void{ 
      trace('netStatusHdlr:'+e.info.code); 
      switch(e.info.code){ 
       case 'NetConnection.Connect.Success': 
        requestAudio(); 
        break; 
      } 
     } 

     private function requestAudio():void{ 
      if(netStrm!==null){ 
       netStrm.close(); 
      } 
      netStrm=new NetStream(netConn); 
      netStrm.addEventListener(NetStatusEvent.NET_STATUS,netStatusHdlr); 
      netStrm.addEventListener(AsyncErrorEvent.ASYNC_ERROR,asyncErrorHdlr); 
      netStrm.checkPolicyFile=false; 
      netStrm.play(urlStr); 
     } 

     private function asyncErrorHdlr(e:AsyncErrorEvent):void{ 
      trace('asyncErrorHdlr:'+e); 
     } 
    } 
} 

가 그리고 수업을 불러오는 중입니다 :

var aac:aacplay=new aacplay('http://bbcmedia.ic.llnwd.net/stream/bbcmedia_lc1_radio3_q?s=1334749463&e=1334763863&h=3bc870c82d1e1f360d8cfc1d296d97c2'); 

누구나 내가 왜 그런지 말할 수 있습니까? BBC 스트림을 재생할 수 없습니다 - 보안 문제입니까? 그렇다면 어떻게이 보안 문제를 해결할 수 있습니까? 사용 netConn.connect(null)

+0

이전 단계

  • 푸시이 데이터로부터 그 안에데이터는 직접 브라우저에서 나는 그것이 보안 문제가 될 수 있다고 생각하는 이유 즉 허가받지 않은 URL –

  • +0

    을 제공합니다. 이 문제를 어떻게 해결할 수 있는지 알고 있습니까? BBC와 무언가를 조정해야합니까? – Jimmery

    +0

    잘 모르겠습니다. 죄송합니다. 공공 URL에서 해당 서버 응답을 줄 수 있을지 전혀 모르겠습니다. 나는 그 URL이 실제로 맞는지를 검증 할 것이다. 그런 다음 스트림의 인코딩을 살펴보고 플레이어가 실제로 해당 인코딩을 재생할 수 있는지 확인합니다. –

    답변