0
我使用AudioQue在iPhone中編寫了語音流應用程序。在音頻錄製開始時,我啓動了網絡連接,並使用inUserData
參考將NSAudioOutStream的實例傳遞到 AudioInputCallback
。iPhone中存在延遲問題的音頻數據流
void AudioInputCallback(
void *inUserData,
AudioQueueRef inAQ,
AudioQueueBufferRef inBuffer,
const AudioTimeStamp *inStartTime,
UInt32 inNumberPacketDescriptions,
const AudioStreamPacketDescription *inPacketDescs) {
RecordState* recordState = (RecordState*)inUserData;
if(!recordState->recording) {
NSLog(@"Record ending...");
}
else{
[recordState->soStream write:inBuffer->mAudioData maxLength:inBuffer->mAudioDataByteSize];
NSLog([NSString stringWithFormat:@"Count:%d Size:%d¥n", sentCnt++, inBuffer->mAudioDataByteSize]);
}
recordState->currentPacket += inNumberPacketDescriptions;
AudioQueueEnqueueBuffer(recordState->queue, inBuffer, 0, NULL);
}
按照AudioQueue的inBuffer
的長度的初始化參數是16000個字節。但是,在WIFI應用中毫無疑問是有效的。但在3G網絡中,客戶端 - 服務器換向不穩定。 任何人都有相同的經歷或有人可以建議小費來解決這個問題。
爲什麼很難格式化代碼?有一個預覽顯示你的帖子看起來有多可怕。爲什麼在提交問題之前不要一瞥呢? – spender 2010-07-22 08:34:07