Je fais un enregistreur audio avec Adobe Flex (Microphone, NetStream), je veux que l'onde audio actuelle du microphone s'affiche dans la zone de visualisation, comment puis-je obtenir les données?Dessiner une forme d'onde pour le microphone en flex, est-ce possible?
1
A
Répondre
1
Vous aurez besoin d'utiliser Flash Player 10 car je pense que c'est la première fois que vous avez réellement accès aux apis du microphone.
Ensuite, il y a une fonction simple, vous pouvez appeler qui obtenir les données du microphone:
private var soundBytes:ByteArray = new ByteArray;
SoundMixer.computeSpectrum(soundBytes, false);
J'appelle habituellement le code computeSpectrum dans un gestionnaire cadre saisir et d'en tirer la forme d'onde à partir de là.
Modifier: Je ne veux pas vous tromper. Je pense que le code ci-dessus est pour un fichier audio pré-enregistré. Si vous voulez à l'utilisateur le microphone en flash 10. Vous le faites comme ceci:
private var _mic:Microphone;
_mid = Microphone.getMicrophone();
_mic.addEventListener(SampleDataEvent.SAMPLE_DATA, onSampleData);
protected function onSampleData(event:SampleDataEvent):void {
while(event.data.bytesAvailable){
var n:Number = event.data.readFloat();
}
}
Avez-vous besoin juste pour obtenir le flux de données du micro, ou voulez-vous aussi savoir comment transformer ces données en un image de forme d'onde? – JoshD
juste google à ce sujet ... il y a des tonnes de tutoriels .... –
@JoshD la première partie, s'il vous plaît @Adrian je l'affiche ici parce que mon googling a échoué – tactoth