php - 如何测试Flash动画是否在PHP中播放声音?

标签 php flash audio

我正在使用PHP开发Web应用程序,并且需要测试网站页面是否具有背景音乐。众所周知,这是标签的列表(我想念一个人吗?),可以在网页中插入背景音:

  • 嵌入
  • 对象
  • Bgsound
  • 音频(HTML5)

  • 虽然很容易检查是否存在标签bgsoundaudio导致背景音频,但测试Flash动画是否具有声音并不是那么容易(至少对我而言)。
    我知道我可以检查embed属性中是否具有src标签,例如sound.mp3,但是如何测试声音是否完全嵌入Flash动画中?

    我进行了很多搜索以找到答案,但不幸的是我没有找到答案。

    感谢所有将回答我的问题的人。

    最佳答案

    SWF文件由许多不同的标签组成,每个标签都描述了不同类型的内容。位图图像,ActionScript,形状,字体,甚至声音。因此,我们可以下载SWF文件,阅读标签,然后查看其中是否有任何与声音相关的标签(对于音乐,您将专门查找与流声音相关的标签)。

    为此,您可以使用一些SWF解析库(我不知道任何PHP解析库,但是我确定它们存在),或者您可以基于specification实现自己的解析库。

    但是,这只能检测到实际嵌入声音的情况,而可能根本不是这种情况-声音可以从外部文件中流式传输,并完全在ActionScript中处理(实际上,这并不太常见)。

    为了处理这种情况,可以分解ActionScript代码,然后可以检查指令以查看它们是否引用了任何特定于音频的ActionScript类(我对字节码的了解不够,无法知道如何检查;我只是知道可以做到)。如果是这样,则您知道SWF与音频有某种联系(但不一定是实际的背景音乐)。

    当然,如果您想要一个万无一失的解决方案,则还必须考虑一个SWF文件可以加载其他SWF文件-进行播放的SWF文件可能不是您下载的SWF文件,因此您需要以某种方式找到这些SWF文件并下载这些文件同样,然后通过相同的过程运行它们...

    如您所见,这很快就会变得非常非常复杂,因此实际上不可能确保100%的准确性。您将必须自己确定检测的精确度(以及扩展,您愿意为此付出多少努力)。

    关于php - 如何测试Flash动画是否在PHP中播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7897088/

    相关文章:

    php - Magento 获取购物车中的所有产品而不是最新的

    android - 闪光手电筒功能无法通过 Nexus 5 中的应用程序小部件运行

    html - crossdomain.xml 防止缓存

    java - Android:来自LAN的Mediaplayer流

    java - 软件可以将数据转换为声音吗,麦克风是否可以收听该声音将其转换为相同数据

    PHP 文件命名约定(.class、.inc)

    php - Laravel 将多个产量添加到单个部分

    Flash IDE 到 AS3 的路径

    iphone - 静音内置 iPhone 麦克风

    php - Google 字体无法在 Windows 上呈现