I have tried really hard to find an example showing how to play speex encoded audio in flash. I tried the following code -
var connect_nc:NetConnection = new NetConnection();
connect_nc.connect(null);
var stream_ns:NetStream = new NetStream(connect_nc);
stream_ns.play("RE-Sample.m4a");
avaible at -
http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player _03.html
I tested the above code with .flv videos and AAC encoded audio files and it works just fine. But when I try stream_ns.play("sample.spx") I get a stream not found exception.
Am I using the wrong container (.spx) for speex audio. Is playing speex audio from a file supported? please help!
(It would be great if you can provide an example.)
This sounds like a job for Alchemy. With Alchemy you could convert a Speex decoder from C to AS3. Here is a link to Adobe Labs where they have an example of converting an OggVorbis decoder from C to AS3: http://labs.adobe.com/wiki/index.php/Alchemy:Libraries
You will have to put it in the flv container, none of the flash media servers will allow it in any other form (unless its a live broadcast). You can convert your files with newer versions of ffmpeg like so:
ffmpeg -i RE-Sample.m4a -y -vn -acodec libspeex -ac 1 -ar 16000 -f flv RE-Sample.flv
ArtBIT seems to be correct from my tests as well. SPX is only playable as the audio codec in a FLV container. You have a few options:
Hope this helps.
According to http://osflash.org/flv#codecs1
flv
is the only container that supportsspeex
codec.Try with flv?