SWF-файл состоит из нескольких различных тегов , каждый из которых описывает различный тип содержимого; растровые изображения, ActionScript, формы, шрифты и действительно звуки. Поэтому мы можем загрузить SWF-файл, прочитать теги и посмотреть, есть ли там какие-либо связанные со звуком теги (для музыки вы бы специально искали теги, связанные с потоковым звуком).
Чтобы сделать это, вы должны использовать некоторую SWF-библиотеку (я не знаю ни одной для PHP, но я уверен, что они существуют), или вы можете реализовать свою собственную, основываясь на спецификации .
Однако, это может обнаружить только те случаи, когда звук действительно внедрен , что может быть совсем не так - звук может передаваться из внешнего файла и обрабатываться полностью в ActionScript (и действительно это не так уж редко)
Для обработки в этом случае код ActionScript можно разобрать , и затем можно проверить инструкции, чтобы определить, ссылаются ли они на какие-либо аудио-специфические классы ActionScript (я не достаточно хорошо знаю байт-код, чтобы знать, как вы это проверите; я просто знаю, что это можно сделать). Если это так, то вы знаете, что SWF имеет некоторое подключение к аудио (но это не обязательно должна быть фоновая музыка).
Конечно, если вы хотите надежное решение, вы также должны учитывать, что SWF-файл может загружать другие SWF-файлы - SWF-файл, который выполняет воспроизведение, может быть не тот, который вы скачали, поэтому вам нужно как-то найти эти SWF-файлы. и скачайте эти , а также , затем запустите их через тот же процесс ...
Как видите, это может быстро стать очень, очень сложным, и поэтому практически невозможно обеспечить 100% точность. Вы должны будете сами определить, насколько точным должно быть ваше обнаружение (и, соответственно, сколько усилий вы готовы потратить на него).