我想開發應用程序什麼播放從服務器流PCM數據。如何在iOS中從服務器播放流式PCM數據?
我已經使用AudioQueue,但它不能很好地工作。 (從服務器)
PCM數據格式:
Sample rate = 48000, num of channel = 2, Bit per sample = 16
並且,服務器不流固定字節客戶端。
(流式可變字節例:30848,128,2764,...字節)
我的源代碼:
這裏,ASBD結構是什麼我已經設置好的&創建音頻隊列對象 (語言:SWIFT)
// Create ASBD structure & set properties.
var streamFormat = AudioStreamBasicDescription()
streamFormat.mSampleRate = 48000
streamFormat.mFormatID = kAudioFormatLinearPCM
streamFormat.mFormatFlags = kLinearPCMFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked
streamFormat.mFramesPerPacket = 1
streamFormat.mChannelsPerFrame = 2
streamFormat.mBitsPerChannel = 16
streamFormat.mBytesPerFrame = (streamFormat.mBitsPerChannel/8) * streamFormat.mChannelsPerFrame
streamFormat.mBytesPerPacket = streamFormat.mBytesPerFrame
streamFormat.mReserved = 0
// Create AudioQueue for playing PCM streaming data.
var err = AudioQueueNewOutput(&streamFormat, self.queueCallbackProc, nil, nil, nil, 0, &aq)
...
我已經設置好的ASBD結構&創建AudioQueue對象像上面。
AudioQueue播放流PCM數據非常好幾秒,
但很快播放聲音開啓和關閉。我能做什麼?
(仍然流,並排隊AudioQueue)
請給我任何的想法。
低帶寬格式的工作? –
請原諒?我不知道你說的很好。 – user6081283
當你嘗試傳輸像mp3這樣更緊湊的格式時它會工作嗎? –