Je suis aux prises avec un lecteur audio AudioQueue que j'ai implémenté. J'ai d'abord pensé qu'il tronquait le 1er 1/2 de l'audio qu'il jouait mais lors du chargement de fichiers plus volumineux je remarque des écarts tous les 1/2 seconde. Je l'ai exécuté en débogage et j'ai confirmé que je charge correctement la file d'attente avec l'audio. (Il n'y a pas de grosses régions nulles chargées dans la file d'attente.) Il joue sans problème (pas de trous) sur le simulateur mais sur l'appareil, j'ai des trous comme s'il manquait un morceau d'audio. Dans mon application, je décompresse puis extrait l'audio d'un objet mémoire NSMutableData. Je nourris ces données dans la file d'attente audio. J'ai une implémentation correspondante dans la même application qui joue l'audio wave et cet exemple fonctionne sans problème sur les clips audio longs et courts. Je compare l'implémentation de l'onde à l'autre qui fait la décompression. la seule différence entre les deux est la façon dont je découvre les méta-données audio et où je reçois les échantillons audio pour la mise en file d'attente. Dans l'implémentation de l'onde, j'utilise AudioFileGetProperty et AudioFileReadPackets pour obtenir ces données. Dans l'autre cas, je dérive les données avant la main en utilisant des ivars mis en cache chargés pendant les rappels de mon décompresseur. Les métadonnées correspondent à la fois pour les implémentations compressées et en mode wave. J'ai exécuté le code dans des instruments et je ne vois rien prendre plus de 1ms dans ma logique de livraison/mise en file d'attente de paquets audio pendant la lecture. Je suis complètement perdu. Veuillez parler si vous avez une idée de la façon de résoudre la situation.AudioQueue lacunes dans la lecture
0
A
Répondre
0
J'ai finalement résolu ce problème. J'ai trouvé que si je sautais les 44 premiers octets (la taille exacte d'un en-tête d'onde) de l'audio alors il joue correctement sur l'appareil. Il paie correctement sur la sim indépendamment de si je saute 44 ou non. Étrange et je ne sais pas pourquoi mais c'est ainsi que ça fonctionne.
Questions connexes
- 1. Lecture de m4p avec AudioQueue
- 2. Enregistrement/Lecture avec AudioQueue sur iPhone
- 3. Exemple de lecture en mémoire AudioQueue
- 4. Lecture de données de tampon audio avec AudioQueue
- 5. AudioQueue et iOS4?
- 6. AudioQueue ne démarre pas
- 7. puissance audio sur AudioQueue
- 8. Comment faire pour connaître l'heure et la durée en AudioQueue
- 9. PHP - Les lacunes de fwrite?
- 10. AudioQueue ne produit aucun son
- 11. AudioQueue: Impossible de lire les données brutes dans AudioFileReadPackets
- 12. Comment vérifier si une musique est en cours de lecture ou en pause AudioQueue
- 13. Taille de la mémoire tampon AudioQueue pour le streaming de l'audio aac
- 14. Graphique ligne en laissant les lacunes dans les données
- 15. SQL Server et lacunes dans une colonne Identity
- 16. Lire des fichiers mp3 dans une page Web sans lacunes?
- 17. Morceaux manquants lors de la création d'un fichier avec AudioQueue
- 18. Interrompre le rappel d'enregistrement pour AudioQueue
- 19. T-SQL entre les lacunes dans les périodes
- 20. Jouer deux m4a simultanée des sons avec audioqueue
- 21. CoreAudio AudioQueue redirige-t-il vers/depuis l'application téléphonique?
- 22. Lecture sautant/recherchant dans un fichier MP4
- 23. Comment puis-je éviter les lacunes lors de la sélection par heure dans MySQL?
- 24. Existe-t-il un moyen de déterminer les lacunes dans la couverture essai/prise?
- 25. Le code AudioQueue de SpeakHere échoue sur l'iPad
- 26. Défi: comment combler efficacement les lacunes de données dans une collection Flex ArrayCollection éparse?
- 27. LINQ peut-il être utilisé pour trouver des lacunes dans une liste triée?
- 28. SSRS graphique linéaire: axe x échelle de temps des lacunes dans les données
- 29. Solutions de contournement pour les lacunes dans Word pour Mac 2011 modèle d'objet VBA?
- 30. Lecture seule pour la colonne dans gridview