2010-07-25 6 views
4

Je suis en train de faire une application qui doit lire et enregistrer des flux audio depuis internet sur ipad. Le streaming de l'audio est fait, je vais devoir venir à la partie enregistrement très bientôt et je n'ai aucune idée sur la façon de procéder.enregistrer en direct streaming audio

Pourriez-vous me donner un indice ??? Idée? Il devra jouer tout en enregistrant simultanément en AAC ou MP3.

Merci.

+0

Toute solution pour cela? S'il vous plaît trouver le lien suivant: http://stackoverflow.com/questions/10931615/how-to-record-livestream-audio-and-save-to-documents-directory-while-playing –

+0

Pouvez-vous s'il vous plaît me fournir si vous avez une solution pour enregistrer l'audio liveStream? –

Répondre

1

Vous devez utiliser l'API AudioQueue de niveau inférieur et utiliser l'API AudioSession pour configurer la session audio.

Ensuite, vous devrez remplir une structure AudioStreamBasicDescription et créer une nouvelle file d'entrée avec AudioQueueNewInput() et inclure votre fonction de rappel pour gérer les tampons d'entrée. Ensuite, vous devrez créer 3 tampons en utilisant AudioQueueAllocateBuffer() et AudioQueueEnqueueBuffer(). Et seulement alors serez-vous prêt à appeler le AudioQueueStart(). Vous devez également gérer les interruptions de session audio et gérer l'arrêt de la file d'attente audio.

Cela vous donnera un flux de tampons contenant des données audio PCM entières 16 bits non compressées. Vous avez encore besoin de compresser les données, ce qui est une autre boîte de Pandore qui implique l'utilisation de l'API AudioConverter, ce que je n'ai pas fait sur l'iPhone OS, donc je ne sais pas ce qui fonctionnera là.

+0

Salut lucius Merci, pouvez-vous expliquer un peu plus xD Je suis un nouveau et je suis perdu: s – awlcs

+0

Avez-vous une question précise? – lucius

+0

Avez-vous un exemple de code qui fait cet enregistrement? :( – awlcs

0

Veuillez regarder ce cadre. Il fournit des données pour l'enregistrement lors de l'enregistrement Streaming Kit

lire un fichier MP3 sur HTTP

STKAudioPlayer* audioPlayer = [[STKAudioPlayer alloc] init]; 

[audioPlayer play:@"http://www.abstractpath.com/files/audiosamples/sample.mp3"]; 

et ajouter ses données à NSMutabledata à jouer hors ligne en utilisant ce délégué.

données Intercept PCM juste avant son joué

[audioPlayer appendFrameFilterWithName:@"MyCustomFilter" block:^(UInt32 channelsPerFrame, UInt32 bytesPerFrame, UInt32 frameCount, void* frames) 
    { 
    ... 
    }]; 
Questions connexes