作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用下面的 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 不存在于像这样的网络广播流中。我假设您正在谈论 SHOUTcast/IceCast 流。
为此,您需要实现 icy 元数据协议(protocol)。对于 Flash,这通常只是在外部完成。
请参阅此引用:http://www.smackfu.com/stuff/programming/shoutcast.html
基本上,您发送 icy-metadata: 1
在您的 GET 请求的 header 中。然后服务器将元数据插入到流的中间,您在将数据发送到正在播放流的任何设备之前将其取出。我不确定这在 Flash 中是否可行,但肯定可以在 PHP(或任何服务器端语言)中执行此操作,并让您的 Flash 应用程序向您的 PHP 脚本发出请求以获取该元数据。
关于actionscript-3 - 网络广播中的 AS3-ID3 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5920238/
我是一名优秀的程序员,十分优秀!