Файлы MP3 кэшируются при использовании swfsound - PullRequest
1 голос
/ 10 марта 2012

Я пишу аудиоплеер, используя swfsound для браузеров, не поддерживающих html5.У меня есть три файла сэмплов, sound1, sound2 и sound3.

После некоторых тестов я изменил sound1 на другой файл, но на удивление оригинал остается кэшированным в браузере.Я удалил исходный файл, переместился в другую папку, никоим образом.

Единственный способ успешно воспроизвести новый файл - активировать функцию «отключить кэш».Я ищу способ или способ выгрузить предыдущий файл (если он есть) перед загрузкой нового.Аудиоплеер будет воспроизводить разные mp3-файлы, и в том виде, в котором он сейчас работает, не получится.

Буду признателен за любую помощь.

1 Ответ

2 голосов
/ 10 марта 2012

Это очень старая, очень известная проблема с очень старой и довольно хорошо известной работой, позволяющей избежать кэширования отдельных ссылок во флэш-памяти. Вы просто добавляете мусор в конец URL при каждом вызове. Например:

myUrlLoader.load(new URLRequest("http://sameOldSite.com/sameOldfile.mp3?" + new Date().toString() ));

Этот код не проверен, поэтому он может быть неточным, но вы поняли идею. Добавляя новую дату, вы получаете уникальную строку символов каждый раз, когда создаете новую функцию Date () или перезаписываете один объект даты и продолжаете вызывать toString () или getTime () или что-либо еще. Я полагаю, вы можете сделать то же самое с глобальным объектом таймера. Эта строка лишнего мусора отбрасывается, потому что она рассматривается как переменная GET и не используется.

...