Dans mon application, je dois capturer le microphone et envoyer des données audio dans le paquet rtp. Mais je ne vois que recevoir des données rtp comme iOS RTP live audio receiving ou sans réponse one.Objectif c: Envoyer des données audio dans un paquet rtp via le socket
J'ai utilisé le code suivant avec AsuncUdpSocket pour envoyer des données audio mais il n'était pas en boucle dans le paquet rtp. Y at-il une bibliothèque pour envelopper mes données audio dans le paquet rtp?
AsyncUdpSocket initial:
udpSender = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
NSError *error;
[udpSender connectToHost:@"192.168.1.29" onPort:1024 error:&error];
j'envoyer des données audio dans ma fonction de rappel de lecture:
static OSStatus playbackCallback(void *inRefCon,
AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData) {
/**
This is the reference to the object who owns the callback.
*/
AudioProcessor *audioProcessor = (AudioProcessor*) inRefCon;
// iterate over incoming stream an copy to output stream
for (int i=0; i < ioData->mNumberBuffers; i++) {
AudioBuffer buffer = ioData->mBuffers[i];
// find minimum size
UInt32 size = min(buffer.mDataByteSize, [audioProcessor audioBuffer].mDataByteSize);
// copy buffer to audio buffer which gets played after function return
memcpy(buffer.mData, [audioProcessor audioBuffer].mData, size);
// set data size
buffer.mDataByteSize = size;
//Send data to remote server
NSMutableData *data=[[NSMutableData alloc] init];
Float32 *frame = (Float32*)buffer.mData;
[data appendBytes:frame length:size];
if ([udpSender isConnected])
{
[udpSender sendData:data withTimeout:-1 tag:1];
}
}
return noErr;
}
Comment y parvenir?
Merci.
Si je ne me trompe pas, ici vous n'emballez pas les données comme RTP. Ou êtes-vous faire la même chose dans l'une des méthodes? S'il vous plaît aidez-moi ici, je suis dans le besoin de la solution que je suis coincé – infiniteLoop
@Wei Wen Hsiao: Hey cher. J'ai lu votre question. J'ai la même exigence. S'il vous plaît donner quelques suggestions pour la façon de créer un paquet RTP pour le streaming audio. – Wos