我正在使用下面的AS3代码构建一个在线广播播放器:
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(stationUrl));
soundChannel = sound.play();
private function onID3Change(e:Event):void
{
....
}声音播放成功,但问题是从未触发过ID3事件!
有人知道怎么解决这个问题吗?
发布于 2011-05-07 21:51:34
ID3不存在于像这样的互联网广播流中。我假设你说的是一个SHOUTcast/IceCast流。
为此,您需要实现icy元数据协议。对于Flash,这通常是在外部完成的。
请参阅此参考:http://www.smackfu.com/stuff/programming/shoutcast.html
基本上,您在GET请求的头部中发送icy-metadata: 1。然后,服务器将元数据插入到流的中间,您在将数据发送到正在播放流的任何设备之前将元数据提取出来。我不确定这在Flash中是否可行,但在PHP (或任何服务器端语言)中肯定可以做到这一点,并让Flash应用程序向PHP脚本发出请求以获取元数据。
https://stackoverflow.com/questions/5920238
复制相似问题