Flash и медиа (звуковые) файлы без медиа-сервера - PullRequest
3 голосов
/ 20 ноября 2010

Можно ли записать аудиоклип непосредственно на сервер Linux с помощью сценария флеш-памяти без использования сервера Flash Media?

1 Ответ

3 голосов
/ 20 ноября 2010

использовать MicRecorder .Следующие сведения взяты с сайта проектов.

Для записи звука с микрофона в вашем приложении просто используйте эти несколько строк:

// volume in the final WAV file will be downsampled to 50%
var volume:Number = .5;
// we create the WAV encoder to be used by MicRecorder
var wavEncoder:WaveEncoder = new WaveEncoder( volume );
// we create the MicRecorder object which does the job
var recorder:MicRecorder = new MicRecorder( wavEncoder );
// starts recording
recorder.record();
// stop recording
recorder.stop();

Когда начинается запись, отправляется событие RecordingEvent.RECORDING, даваяинформация о времени.Когда запись остановилась, отправляется Event.COMPLETE, позволяющий вам извлечь байты Micorder.output и сохранить аудиопоток (в данном случае как WAV), используя простой объект FileReference:

recorder.addEventListener(RecordingEvent.RECORDING, onRecording);
recorder.addEventListener(Event.COMPLETE, onRecordComplete);

private function onRecording(event:RecordingEvent):void
{
     trace ( event.time );
}

private function onRecordComplete(event:Event):void
{
     fileReference.save ( recorder.output, "recording.wav" );
}

Вы также можетевоспроизведите записанное, передав необработанный WAV-файл объекту WavSound из симпатичной библиотеки as3wavsound:

private function onRecordComplete(event:Event):void
{
     var player:WavSound = new WavSound(recorder.output);
     player.play();
}

Объект MicRecorder по умолчанию полагается на доступное устройство микрофона по умолчанию, но вы можете передать любой экземпляр микрофонав качестве замены при создании объекта MicRecorder:

// a specific Microphone instance can be passed
var recorder:MicRecorder = new MicRecorder( wavEncoder, microphoneDevice );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...