Как экспортировать микрофон, записанный в виде файла, в формате wav или mp3 из flash Actionscript в php - PullRequest
2 голосов
/ 30 июля 2011

Мне нужна помощь в экспорте байтового массива в wav или mp3 (или что-нибудь еще, что работает!) Из моего флеш-кода на мою php-страницу.

Я использую микрофон для записи голоса, я использую URL-запрос для отправки моего ByteArray на мою страницу PHP.

Я отправляю массив пока, как это:

var url = "http://localhost/wordswesay/uploads/testrec.php"; заголовок var: URLRequestHeader = новый URLRequestHeader («Тип контента», «приложение / поток октетов»); var request: URLRequest = новый URLRequest (url);

            request.requestHeaders.push (header);
            request.method = URLRequestMethod.POST;

            request.data = soundBytes; //FLV byteArray  
            var loader:URLLoader = new URLLoader();

            trace(request.data);
            loader.load(request)

и в моем php-файле я делаю следующее:

<?php

echo "test";

  $im =  $GLOBALS["HTTP_RAW_POST_DATA"];
    $fp = fopen("test.wav", 'w');    
    fwrite($fp, $im);
    fclose($fp);

?>

на стороне сервера (файл sime в виде скрипта php) я получаю test.wav размером около 200 КБ, но не могу его воспроизвести! Медиаплееры говорят, что не могут воспроизводить этот файл, так как кодек может не поддерживаться.

Любая помощь будет оценена

1 Ответ

1 голос
/ 30 июля 2011

В аудиофайле больше, чем в аудиобайтах, должен быть заголовок, специфичный для формата, и байты должны храниться способом, специфичным для типа формата, который часто (например, mp3) отличается отнеобработанные байты, которые Flash вам даст (которые уже декодированы)

Посмотрите на Google аудио кодировщик, либо в AS3, либо в PHP, который преобразует ваши байты в mp3-файл, я уверен, что тамэто что-то, но я не знаю одно из рук.Надеюсь, это объясняет, почему это не работает, и подталкивает вас в правильном направлении.Гудлак!

...