Sound.play () вылетает без параметров - PullRequest
0 голосов
/ 21 февраля 2012

Я делаю следующее в своем коде:

        _sound = new Sound();
        _sound.addEventListener( SampleDataEvent.SAMPLE_DATA, handlePlaybackSampleData );
        _soundChannel = _sound.play();

Обычно это должно приводить к тому, что Sound вызывает функцию handle ..., когда он хочет воспроизвести, чтобы я мог вставить свой собственный сгенерированный ByteArray длязвук.Но она даже не вызывает эту функцию, и иногда (!!!) происходит сбой вместо:

Error #2004: One of the parameters is invalid.

Я не знаю, почему это происходит.Во всех примерах это работает именно так.Это также не имеет особого смысла, так как все параметры в play () в любом случае являются необязательными.

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

Редактировать: вот функция:

    public function handlePlaybackSampleData(p_sampleEvent:SampleDataEvent) :void 
    {
        // Read data until either MAX_SAMPLES or all available samples are reached.
        var i:int = 0;
        var data :Number = 0;
        while( i < 8192 )
        {
            if( _lastRecord.bytesAvailable )
            {
                data = _lastRecord.readFloat();
                p_sampleEvent.data.writeFloat(data);
                p_sampleEvent.data.writeFloat(data);
                i++;
                continue;
            }
            else 
            {
                break;
            }
        }
    }

1 Ответ

0 голосов
/ 28 марта 2012

Чтобы получить этот вопрос, получите «официальный ответ», вот что произошло:

Частота выборки была проблемой, как вы можете видеть в другом вопросе . Решение этого тоже как-то решило эту проблему.

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

...