sto sviluppando un app in cui ho bisogno di passare attraverso la cattura audio tramite jack audio in uscita allo stesso tempo di record e salvare il video.trasmettere i dati CMSampleBufferRef al jack di uscita audio
Ho esaminato il codice di esempio tocco mela Aurio e passthrough audio implementato.
ho anche implementato la registrazione video attraverso AVCaptureSession
. Sopra entrambe le funzionalità, fatte singolarmente e perfettamente funzionanti.
Ma quando mi fondo passaggio audio attraverso funzionalità che non funziona a causa della sessione audio del AVCapturesession
.
Ho anche cercato di passare attraverso i dati audio che sto ottenendo da AVCaptureSession
metodi delegato. Qui sotto è il mio codice:
OSStatus err = noErr;
AudioBufferList audioBufferList;
CMBlockBufferRef blockBuffer;
CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer(sampleBuffer, NULL, &audioBufferList, sizeof(audioBufferList), NULL, NULL, 0, &blockBuffer);
CMItemCount numberOfFrames = CMSampleBufferGetNumSamples(sampleBuffer); // corresponds to the number of CoreAudio audio frames
currentSampleTime += (double)numberOfFrames;
AudioTimeStamp timeStamp;
memset(&timeStamp, 0, sizeof(AudioTimeStamp));
timeStamp.mSampleTime = currentSampleTime;
timeStamp.mFlags |= kAudioTimeStampSampleTimeValid;
AudioUnitRenderActionFlags flags = 0;
aurioTouchAppDelegate *THIS = (aurioTouchAppDelegate *)[[UIApplication sharedApplication]delegate];
err = AudioUnitRender(self.rioUnit, &flags, &timeStamp, 1, numberOfFrames, &audioBufferList);
if (err) { printf("PerformThru: error %d\n", (int)err); }
Ma sta dando errore. Si prega di avvisare ciò che può essere fatto il più presto possibile. Ho esaminato così tanti documenti e così tanti codici ma non ho trovato nessuna soluzione. Per favore aiuto ..