2010-08-05 5 views
2

J'ai essayé très fort de trouver un exemple montrant comment lire l'audio codé speex en flash. J'ai essayé le code suivant -Adobe flash: Lecture de Speex Audio à partir d'un fichier

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 à -

http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player _03.html

J'ai testé le code ci-dessus avec des vidéos .flv et les fichiers audio encodés AAC et il fonctionne très bien. Mais quand j'essaie stream_ns.play ("sample.spx") j'obtiens une exception de flux non trouvé. Est-ce que j'utilise le mauvais conteneur (.spx) pour l'audio speex? Est-ce que la lecture d'audio speex à partir d'un fichier est prise en charge? aidez s'il vous plaît!

(Ce serait génial si vous pouvez donner un exemple.)

Répondre

2

ArtBIT semble aussi être correct à partir de mes tests. SPX est seulement jouable comme le codec audio dans un conteneur FLV. Vous avez quelques options:

  1. envelopper vos fichiers SPX à l'avance avec un conteneur FLV en les réencodant.
  2. faire un "live" en utilisant FMS ou transcode Rouge/Xuggle (http://www.pubbs.net/200906/osflash/18579-red5-streaming-speex-audio.html)
  3. charge le SPX comme bytearray, puis enveloppez-le avec un FLV en utilisant une bibliothèque comme ceci: http://www.zeropointnine.com/blog/simpleflvwriteras-as3-class-to-create-flvs/

Espérons que cela aide.

1

Vous devrez le mettre dans le conteneur flv, aucun des serveurs de média flash ne le permettra sous une autre forme (à moins qu'il s'agisse d'une diffusion en direct). Vous pouvez convertir vos fichiers avec les versions les plus récentes de ffmpeg comme ceci:
ffmpeg -i RE-Sample.m4a -y -vn -acodec libspeex -ac 1 -ar 16000 -f flv RE-Sample.flv

Questions connexes