Большое разочарование

или почему вымрут Music Visualization

О SecurityError.

-У меня не работает визуализатор! Почему?
-Закройте все остальные окна с сайтами и видео-роликами.
-?!?!

Звук во FlashPlayer идет через SoundMixer. Что позволяет возпользоваться функцией SoundMixer.computeSpectrum() и получить аудио “снимок”.
Но если открыть несколько flash-роликов в одном браузере, их звук все равно будет идти через один SoundMixer. И при попытке SoundMixer’а обработать звук появится ошибка: SecurityError. Другие сайты не разрешили обрабатывать их звук (слушать можно, обрабатывать нельзя – как с картинками и BitmapData).

Долгие ожидания FlashPlayer10 окончились, можно сказать, ничем.

С computeSpectrum ситуация не поменялась.

А как же новый sound.extract()? Он дает лишь волну, но не частотную характеристику. А самостоятельно писать FFT (Fast Fourier transform) я уж точно не буду.

Я не считаю правильным просить пользователей закрывать остальные сайты, чтобы посмотреть мой.

This entry was posted in text. Bookmark the permalink.

5 Responses to Большое разочарование

  1. valyard says:

    какие-то странные люди оставляют звук от нескольких сайтов одновременно
    я обычно смотрю только одно

    а ошибку можно ловить try catch

  2. White says:

    Загружающийся (поставленный на паузу) ютюбовский ролик, или проигрывающийся на нулевой громкости звук тоже вызовут ошибки.
    Ошибку поймать можно, не вопрос. только пользователь ничего не увидит либо получит приглашение закрыть все остальное.

  3. DataGreed says:

    Да, ловить ошибку не имеет смысла, увы. Кстати, подобной проблемы не наблюдал с девятым плеером. Возможно, просто везло.

    На самом деле, Adobe много чего не поправило среди подобных ошибок, крутясь аки белка в колесе в погоне за новым функционалом.

    Нужно отписать им баг.

    Сделайте это здесь: https://bugs.adobe.com/flashplayer/

    За Вами это право. Не забудьте потом оставить ссылку, чтобы Вас смогли поддержать другие пользователи.

  4. makc says:

    “Он дает лишь волну, но не частотную характеристику. А самостоятельно писать FFT (Fast Fourier transform) я уж точно не буду”

    Ну, во-первых, не обязательно самостоятельно, а во-вторых, может, не очень быстрый прокатит? Вот те кусок, который я написал на (а точнее перегнал в) АС1 в далёком 2005м:

    var Pi=3.14159265358979
    var y=new Array()
    var FR=new Array()
    var FI=new Array()
    var N=100
    for (var x=0;x<N;x++)
    y[x]=2*Math.cos(0.3*x)+Math.random() – Math.random()

    //Do Fourier transform
    for (var u=0;u<N;u++){
    FR[u]=0
    FI[u]=0
    for (x=0;x<N;x++){
    FR[u]+=y[x]*Math.cos(2*Pi*x*u/N)
    FI[u]+=y[x]*Math.sin(2*Pi*x*u/N)
    }
    }

    Пара пассов руками, и ты снова на коне. Мы в тебя верим! Ну вот, отписался в блоге, как и обещал ;)

  5. makc says:

    кстати о птицах, http://www.gskinner.com/blog/archives/2008/10/simple_flash_pl.html – не использует спектр в принципе. и что, плохо ему?

    по сути, на кой нам здался именно фурье? прогоняем сигнал через абсолютно любой фильтр (функцию) с буфером в значений 10 – 20, и имеем на выходе некие абстрактные значения, как то изменяющиеся в зависимости от музыки. и что, собственно, ещё надо то?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>