पर CMSampleBufferRef डेटा के माध्यम से पास करें मैं एक ऐप विकसित कर रहा हूं जिसमें मुझे एक ही समय में आउटपुट ऑडियो जैक के माध्यम से ऑडियो कैप्चरिंग से गुजरना होगा और वीडियो को सहेजना होगा।ऑडियो आउटपुट जैक
मैंने ऑरियो टच सेब नमूना कोड देखा है और ऑडियो पासथ्रू लागू किया है।
मैंने AVCaptureSession
के माध्यम से वीडियो रिकॉर्डिंग भी लागू की है। व्यक्तिगत रूप से दोनों कार्यक्षमताओं के ऊपर और pefectly काम करता है।
लेकिन जब मैं AVCapturesession
के ऑडियो सत्र की वजह से काम नहीं कर रहा कार्यक्षमता ऑडियो पास विलय करता हूं।
मैंने ऑडियो डेटा को पार करने का भी प्रयास किया है जो मुझे AVCaptureSession
प्रतिनिधि विधियों से प्राप्त हो रहा है। नीचे मेरा कोड है:
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); }
लेकिन यह त्रुटि दे रहा है। कृपया सलाह दें कि जितनी जल्दी हो सके आगे क्या किया जा सकता है। मैंने इतने सारे दस्तावेज़ और इतने सारे कोड देखे हैं लेकिन कोई समाधान नहीं मिला। कृपया मदद करें ..