Hey fellows, J'essaie de créer une application pour le changement de la voix en temps réel. Dans un premier temps, j'ai réussi à enregistrer des données audio dans un fichier spécifique et à les lire après l'enregistrement. Maintenant, j'essaie de changer le code pour lire les audiobuffeurs juste après les avoir enregistrés en boucle. Ma question est, comment il est possible de lire les Audiodata directement à partir de l'enregistrement Audioqueue et non (comme indiqué dans la documentation) à partir d'un fichier. Je suis reconnaissant pour toute idée et pourrait montrer des parties de code si nécessaire. Merci d'avance, Lukas (d'Allemagne)Lecture en temps réel de l'enregistrement AudioQueue
Répondre
Regardez l'exemple de SpeakHere. Cette ligne sources les données audio:
OSStatus result = AudioFileReadPackets(THIS->GetAudioFileID(), false, &numBytes, inCompleteAQBuffer->mPacketDescriptions, THIS->GetCurrentPacket(), &nPackets,
inCompleteAQBuffer->mAudioData);
Alors, plutôt que appeler AudioFileReadPackets
, vous pouvez simplement utiliser un memcpy pour copier sur la mémoire tampon de données enregistrées. Ou, en variante, fournir à la lecture AudioQueue
un pointeur vers le tampon de données audio. Pendant la lecture, avancez un pointeur mCurrentPacket
dans le tampon.
Pour enregistrer, vous ferez quelque chose de très similaire. Plutôt que d'écrire dans un fichier, vous écrirez dans un tampon en mémoire. Vous devez d'abord allouer cela avec un malloc
. Ensuite, vos entrées AudioQueue
capturent des données enregistrées, vous copiez ces données dans le tampon. Lorsque d'autres données sont copiées, vous avancez la tête d'enregistrement ou mCurrentPacket
vers une nouvelle position.
- 1. Exemple de lecture en mémoire AudioQueue
- 2. Lecture de m4p avec AudioQueue
- 3. AudioQueue lacunes dans la lecture
- 4. lecture en temps réel de balise XML dans JSP
- 5. Lecture audio en temps réel de Flash Player
- 6. C# FMOD Lecture de flux en temps réel
- 7. Lecture de la sortie cmd en temps réel
- 8. GMT Temps en temps réel
- 9. iframe en temps réel URL en temps réel détecter
- 10. Lecture du son dans plusieurs formats en temps réel
- 11. Comment utiliser Flash AS 3.0 en lecture temps réel fichier.txt?
- 12. Statistiques en temps réel?
- 13. enregistrement en temps réel
- 14. Graphes en temps réel
- 15. Multiplication en temps réel
- 16. Abonnements en temps réel
- 17. Webservice en temps réel
- 18. emplacement en temps réel
- 19. Communication en temps réel
- 20. Diffusion en temps réel
- 21. Enregistrement/Lecture avec AudioQueue sur iPhone
- 22. FFT traçage en temps réel
- 23. Services Web en temps réel
- 24. sockets PHP en temps réel
- 25. Rendu WPF en temps réel
- 26. Configuration en temps réel ActiveMQ
- 27. Graphique en temps réel Javascript
- 28. Application Web en temps réel
- 29. Diff. Git en temps réel
- 30. Graphique en temps réel Kendo
Quelle plate-forme/langue envisagez-vous d'utiliser? (Il est difficile de dire à partir de votre question.) –
Le programme est conçu pour fonctionner sur IPhone. La langue utilisée est Objective-C. Jusqu'à présent, la plupart de mon code provient du Guide AudioQueueReference. – Lukas
J'ai ré-étiqueté votre question avec des tags plus significatifs - vous obtiendrez plus de réponses maintenant. –