Pessoal,

Tenho uma aplicação em flex que faz captura de áudio, estou setando o codec 
do microphone para SPEEX:

microphone.codec = SoundCodec.SPEEX;

Preciso capturar os bytes e enviar esse áudio comprimido via requisição 
http post:

Achei um exemplo de aplicação que faz o que eu preciso, vejam:

Request URL:http://fdsfdsfds
Request Method:POST
Status Code:200 OK
Request Headersview parsed
POST /recognitions.svc/requests HTTP/1.1
Host: gfdgfdgfd
Connection: keep-alive
Content-Length: 11017
Origin: http://gfdgfdgfd
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, 
like Gecko) Chrome/32.0.1700.76 Safari/537.36
Content-Type: audio/ogg
UserId: 2479214
ExpectedResults: Judy discussed her ideas for new initiatives with the 
consultant.;Judy discussed her ideas for new initiatives with the 
consultant.
RecognitionType: Pgfdgfdgfdg
Grammar: [(judy discussed her ideas for new initiatives with the 
consultant)]
Accept: */*
Referer: http://gdfgfdgfdgfd
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,pt;q=0.6

Request Payload
*OggS å|lf *
*ÐÙ PSpeex   speex-1.2beta3 P?>   ÿÿÿÿ@  OggSå|lf ìx7  )!Encoded with Speex 
speex-1.2beta3*OggS1bå|lf 
ãö½O4444444444444444444444444444444444444444444444444444444444444444444444444444444(
 » 
? ÿÿÿÿÿ???ÿÿÿÿõ?°óñ?]Ñ ì?{ "ÊmRúÝ÷µ­gµ¬²°`Ñ(Îg.  fj _AR
pö] Ç?ñ??ä nµ°Ruz¬th à¯È?*oZ/!*À²ë@S Ã?èG( :Ck ^ÉÊb}×3ÅÙhH1Ö?¤?÷ËÞ ? Ò?ÌÜ 
qSà²:/?2?ákÂ@Î\àv0W(  §K?_&ü  +Sò?Y* gñ 5'±þ£í  UÓÙ²k?ð z,?\  ÆmÑ AÒ® ·(  NK@? 
j?Þ8 !ѧ Û2Ð×? ÉTþÌx¿W)Ü ?tÃë?-ó«??u ³ÉztÉ? (Åô 
kÔ~ÜÌÌÌ+? ??øû|éVMפ ?ñ|$n|XÙ¤ ê,?ÆK?xZ#    ? ( 
á¤?{³T\A?\¥?{Kª ÚãuÿWÌ^&Ë ?*nçö­?×Oj/ Æ
S_L±É¢!öRG( Å¡?ö¾Ü?Àµ xRÙ?±úÒù!?_ÏÝ2 v 
ôàá'XwbÖzq ÈS@iÑ`Éq`È¡g( ¹§L|Ö· È ßÂ6q¬ZvPQ¬$fÜüw>5.¡ºQϤ{¿fª-ð°!ñ?:ák"Ó°#G( 
åfL? 
M|?ùü/3Ù«fk@[´La×W-ã1Üq á» 
 ªú.ò$p?¦J Ë0t½'( 3§L  IV?7êëU¿u 7zm??M»B al ¿æÑ6ª¹¦×?/ò ²´p@u  V²ÞÇ( ¡ck 
;Uå©Ñ×{  Èè0È?àÆ5Ä÷?GWÄÆÌéú ¯?ÛJ/õ DtËÄU&3µIÛ )?a?Kc =2f%Db¾¿¡m¡'pô¯ 
̤ÕáS½ËVâ0þ¯ÇÚj-ôvY Ø?#ÃîÓ}¨Ç-ÛÎ
?W7¢!Ú¥ ???§µæ-¼BÎMÈ3Ò ? 
?îØ6?úñ¹:Qò\ cN1?Ë]?²Ö7-Ê`N?¼ Ç=õj ¾Y?¼ñH 
ai­?dÉs©kQe?¼¯êÜo?ªQó¡àd÷±?ìlä¶ag-Ýl¤gKò + ?ßû¥ù?7v:?|?|Þa?O­3µSè2ºQ3A

Reparem que tem Ogg (container) e Encoded with Speex speex-1.2beta3

Precisava que a minha captura ficasse assim também.

Hoje eu seto o codec e depois capturo os bytes, dessa forma

microphone.addEventListener(SampleDataEvent.SAMPLE_DATA, 
micSampleDataHandler); 
function micSampleDataHandler(event:SampleDataEvent):void { 
while(event.data.bytesAvailable && verificaGravacao)     { 
    var sample:Number = event.data.readFloat(); 
            soundBytes.writeFloat(sample); 
} 
}

Monto minha requisição:

var url_request:URLRequest = new URLRequest();
url_request.url = "http://server.com/upload.php";;
url_request.contentType = "audio/ogg";
url_request.method = URLRequestMethod.POST;
url_request.data = soundBytes;

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.load(url_request);

Em muitos fóruns o recomendado é usar o servidor de media (red5, ...) com o 
objeto NetStream, mas como achei essa aplicação que faz o envio sem o uso 
do servidor de stream queria fazer igual.

Vocês sabem se eu preciso passar algum por um Encode, pois em outra 
aplicação eu encontrei o WavEncode para captura de áudio sem codec. Fiz 
buscastambém por Speex Enconde, Ogg Encode, mas não achei nada para o AS3.

Alguém tem experiência nessa área e pode me ajudar?

Fico no Aguardo.

Grato,
Vinicius.

-- 
-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
--- 
Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos 
Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um 
e-mail para flexdev+unsubscr...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Reply via email to