gpt4 book ai didi

ios - AudioQueue 得到错误数量的数据包?

转载 作者:行者123 更新时间:2023-11-28 17:37:56 28 4
gpt4 key购买 nike

我的应用使用ffmpeg 解析彩信流 到缓冲区,并使用音频队列 播放缓冲数据。现在我可以确认缓冲数据是好的,但我无法播放。播放结构基于AudioFileStreamExample demo客户端,可以播放http流(AudioFileStreamExample demo服务器端)。我在回调函数中注意到:

void MyPacketsProc(void *inClientData, UInt32 inNumberBytes, 
UInt32 inNumberPackets, const void *inInputData,
AudioStreamPacketDescription *inPacketDescriptions),

当我直接播放AudioFileStreamExample demo的http流时,参数inNumberPackets大部分时间都大于1;当我播放 mms 流时,inNumberPackets 始终为 1。audioQueue 只播放第一个数据包,所有最后的数据包都被遗漏了。

使用AudioFileStreamExample demo的http流的日志:

*AudioStreamBasicDescription info ----*

SampleRate :44100.000000
FormatID :778924083
FormatFlags :0
BytesPerPacket :0
FramesPerPacket :1152
BytesPerFrame :0
ChannelsPerFrame :2
BitsPerChannel :0

got data. bytes: 1253 packets: 2
packetSize:626
kAQBufSize:24576

bytesFilled:0
packetSize:627


kAQBufSize:24576
bytesFilled:626

got data. bytes: 627 packets: 1
packetSize:627

kAQBufSize:24576

bytesFilled:1253

使用解析彩信流的日志:

*AudioStreamBasicDescription info ----*

SampleRate :48000.000000
FormatID :1819304813
FormatFlags :12
BytesPerPacket :4
FramesPerPacket :1
BytesPerFrame :4
ChannelsPerFrame :2
BitsPerChannel :16

got data. bytes: 4498 packets: 1


packetSize:216
kAQBufSize:24576
bytesFilled:0

got data. bytes: 1090 packets: 1


packetSize:576
kAQBufSize:24576
bytesFilled:216

got data. bytes: 3064 packets: 1


packetSize:576
kAQBufSize:24576
bytesFilled:792

got data. bytes: 3978 packets: 1


packetSize:252
kAQBufSize:24576
bytesFilled:1368

我不知道如何解决这个问题。似乎 MyPacketsProc 函数获取了错误的参数,但如何修复它?

非常感谢。

最佳答案

我也遇到了同样的问题,它似乎发生在 AudioQueue 回调未按时调用时。

关于ios - AudioQueue 得到错误数量的数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9222929/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com