检测mp3'文件'是否为flash中的mp3流(Action Script 3,AS3)

时间:2012-01-30 00:29:17

标签: flash stream mp3 detection

我已经制作了一个播放mp3的播放器并且能够很好地完成这项工作(在Flash AS3中不是一项简单的任务,可以构建一个安全稳定的播放器)。它还可以播放几个广播电台的无线电mp3流。 mp3流的“问题”是我不知道如何检测它是flash中的mp3流(没有在互联网和adobe网站上找到的文档)。另外,我不知道缓冲这些流的最佳方法是什么。

无论如何,我已经做了一些复杂的检测方法,通过检查getBytesLoaded()sound.length更改一段时间来确定它是一个流。这需要“告诉”玩家在流/文件完成时不要等待,或者在文件损坏时跳过该文件。这种检测方法的问题是连接速度慢或连接速度快(都有副作用)。

例如,当连接速度较慢时,检测方法失败,因为它认为文件是流,而且当它是快速连接(或Chrome - 比Firefox更快地预加载流)时,它认为文件是腐败并跳过播放并开始下一个文件。

这一切都不容易解释,但主要的问题是:我可以在流的开头(打开它之后)看到/检测到它是一个mp3流,这样我就可以跳过我愚蠢的猜测 - 猜测 - 它-A-文件或流测试“?

对不起我今天的英语不好,但我必须解决这个问题。有没有人知道这个稳定的解决方案?我已经尝试了一个标题查找但不能依赖它(找到太多不同的服务器标头)。

1 个答案:

答案 0 :(得分:0)

抱歉,没有办法这样做,因为MP3文件和MP3流之间没有区别 - 它们是完全相同的数据。但是,如果您碰巧有一个文件描述符或其他程序向您的播放器发出特定响应以确认要发送的数据大小已知,那么您可以将该响应视为文件。 / p>