2011-02-25 3 views
3

suis débutant pour le travail multimédia.je veux capturer l'audio par des échantillons et le transfert vers un autre périphérique ios via network.how pour commencer mon travail ??? Je viens de passer par apple multi media guide et speakhere example, il est plein de code C++ et ils écrivent dans un fichier puis démarrent des services, mais j'ai besoin de tampon ... s'il vous plaît aidez-moi à commencer mon travail correctement.entrée audio en temps réel et la diffusion en continu dans ios

Merci à l'avance

Répondre

9

Je viens de passer un tas de temps à travailler sur des trucs audio en temps réel, vous pouvez utiliser AudioQueue mais il a des problèmes de latence autour 100-200ms.

Si vous voulez faire quelque chose comme l'application t-douleur, vous devez utiliser

  • RemoteIO API
  • Audio Unit API

Ils sont tout aussi difficiles à mettre en œuvre, je choisirait simplement le chemin distant IO.

Source se trouve ici:

http://atastypixel.com/blog/using-remoteio-audio-unit/

+0

Merci Pour votre info .je vais vérifier et revenir à vous si qles q ... –

+0

@ madmik3: pour enregistrer et lire puis-je utiliser AudioQueue ?? –

+0

Vous pouvez, mais il a des problèmes de latence comme je l'ai décrit ci-dessus et vous pouvez également utiliser l'API RemoteIO Audio Unit comme dans le lien fourni. Ce sont deux API différentes qui enregistrent et lisent sur iOS. – madmik3

0

J'ai upvoted la réponse ci-dessus, mais je voulais ajouter une information qui m'a pris un certain temps pour comprendre. Lorsque vous utilisez AudioQueue pour l'enregistrement, la notion intuitive est que le rappel est effectué à intervalles réguliers, quel que soit le nombre d'échantillons représentés. Cette notion est incorrecte, AudioQueue semble recueillir les échantillons pendant une longue période de temps, puis les livrer dans des itérations très rapides du rappel.

Dans mon cas, je faisais des échantillons de 20 ms, et recevais 320 échantillons par rappel. Lors de l'impression des horodatages pour l'appel, j'ai remarqué un modèle de: 1 appel toutes les 2 ms, puis après un moment un appel de ~ 180ms. Depuis que je faisais de la VoIP, cela présentait le symptôme d'un retard croissant à la réception. Passer à l'E/S distante semble avoir résolu le problème.

Questions connexes