开发者

AS3-ID3 event in a web radio

I'm building an online radio player using the AS3 code below:

private var soundChannel:SoundChannel;
private var stationUrl:String = "h t t p : / /205.188.215.230:8002/";

sound = new Sound();
sound.addEventListener(Event.ID3, onID3Change);
sound.load(new URLRequest(stationUr开发者_开发百科l));
soundChannel = sound.play();

private function onID3Change(e:Event):void
{
        ....
}

the sound plays successfully, but the problem is that the ID3 event is never triggered!

Does anyone know how to solve this?


ID3 doesn't exist in internet radio streams like this one. I am assuming you're talking about a SHOUTcast/IceCast stream.

For that, you need to implement the icy metadata protocol. For Flash, this is generally just done externally.

See this reference: http://www.smackfu.com/stuff/programming/shoutcast.html

Basically, you send icy-metadata: 1 in the headers of your GET request. The server then inserts metadata right into the middle of the stream, which you pull out before sending the data on to whatever is playing the stream. I'm not sure if this is even possible in Flash, but it certainly is possible to do this in PHP (or any server-side language really) and have your Flash application make a request to your PHP script to get that metadata.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜