पर रिकॉर्ड किया गया ऑडियो मैं एक आईफोन से दूसरे आईफोन में संचारित करना चाहता हूं। मैंने टीसीपी का उपयोग करके दो आईफोनों के बीच कनेक्शन स्थापित किया है और मैंने आईफोन पर आवाज रिकॉर्ड करने और ऑडियो कतार सेवाओं का उपयोग करके इसे चलाने में कामयाब रहा है। मैंने दो आईफोन के बीच डेटा भेजने में भी कामयाब रहा है। मैं NSData संकुल भेजकर ऐसा करता हूं।ऑडियो क्यूई सेवाओं का उपयोग डेटा
मेरा अगला कदम ऑडियो डेटा को अन्य आईफोन पर रिकॉर्ड करना है क्योंकि इसे रिकॉर्ड किया जा रहा है। मुझे विश्वास है कि मुझे इसे AudioInputCallback
में करना चाहिए। मेरा AudioQueueBufferRef
inBuffer
कहलाता है और ऐसा लगता है कि मैं inBuffer->mAudioData
को एनएसडीटा में परिवर्तित करना चाहता हूं और फिर एनएसडीटा को अन्य डिवाइस पर भेजना चाहता हूं और फिर इसे अनपैक करना चाहता हूं।
क्या किसी को पता है कि यह करने का तरीका होगा और मैं अपने inBuffer->mAudioData
को NSData में कैसे परिवर्तित कर सकता हूं? अन्य दृष्टिकोण भी स्वागत है।
यह मेरा कॉलबैक विधि में मेरा मानना है कि मैं "हड़पने" चाहिए डेटा और अन्य iPhone के लिए भेज रहा है:
void AudioInputCallback(void *inUserData, AudioQueueRef inAQ, AudioQueueBufferRef inBuffer, const AudioTimeStamp *inStartTime, UInt32 inNumberPacketDescriptions, const AudioStreamPacketDescription *inPacketDescs)
{
RecordState *recordState = (RecordState *)inUserData;
if(!recordState->recording)
return;
OSStatus status = AudioFileWritePackets(recordState->audioFile,
false,
inBuffer->mAudioDataByteSize,
inPacketDescs,
recordState->currentPacket,
&inNumberPacketDescriptions,
inBuffer->mAudioData);
if(status == 0)
{
recordState->currentPacket += inNumberPacketDescriptions;
}
AudioQueueEnqueueBuffer(recordState->queue, inBuffer, 0, NULL);
}
आपके उत्तर के लिए धन्यवाद। मुझे यकीन नहीं है कि मुझे दूसरी कतार का उपयोग क्यों करना चाहिए। क्या आप इसे विस्तारित कर सकते हैं? और आपके पास डेटा को एनएसडीटा में परिवर्तित करने के लिए कुछ नमूना कोड नहीं है? – simonbs
http://stackoverflow.com/a/8486682/486845 पर hotpaw2 से उत्तर देखें – simonbs