Ich versuche PCM Stream-Daten vom Server mit AudioQueue zu spielen.Wie Sie AudioStreamBasicDescription-Eigenschaften festlegen?
PCM-Datenformat:
Sample rate = 48000, num of channel = 2, Bit per sample = 16
Und Server fest Bytes ist nicht auf Client-Streaming. (variable Bytes.) (Bsp .: 30848, 128, 2764, ... Bytes)
Wie ASBD einstellen? Ich weiß nicht, wie man mFramesPerPacket
, mBytesPerFrame
, mBytesPerPacket
setzt. Ich habe Apple Referenzdokument gelesen, aber es gibt keine detaillierten Beschreibungen.
Bitte geben Sie mir eine Idee.
Neu hinzugefügt: Hier, ASBD Struktur, was ich eingestellt habe. (Sprache: 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)
...
Ich habe ASBD-Struktur wie oben festgelegt.
Audioqueue Play Streaming-Daten PCM sehr gut für ein paar Sekunden,
aber bald aufhören zu spielen ist. Was kann ich tun?
(noch Streaming und Warteschlangenaudioqueue)
Bitte geben Sie mir eine Idee.
Dank für Ihre Antwort danken. Aber ich habe bereits ASBD-Struktur wie die oben genannten gesetzt. AudioQueue spielt gestreamte PCM-Daten sehr gut für ein paar Sekunden, aber bald zu spielen ist halt. Was kann ich tun? – user6081283
Überprüfen Sie, ob das Audioobjekt nicht freigegeben wird – Bogdan