【问题标题】:AudioQueue get a wrong numbers of Packet?AudioQueue 得到错误的数据包数?
【发布时间】:2012-02-10 05:01:44
【问题描述】:

我的应用使用 ffmpeg 将 mms 流 解析到缓冲区,并使用 Audio queue 播放缓冲的数据。现在我可以确认缓冲的数据是好的,但我不能播放它。播放结构基于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

使用解析的mms流的日志:

*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 函数似乎得到了错误的参数,但是如何解决呢?

非常感谢。

【问题讨论】:

    标签: ios core-audio audioqueue


    【解决方案1】:

    同样的问题也发生在我身上, 似乎当 AudioQueue 回调没有按时调用时会发生这种情况。

    【讨论】:

      猜你喜欢
      • 2012-02-07
      • 2020-06-22
      • 1970-01-01
      • 2012-12-25
      • 2021-12-27
      • 2019-12-17
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      相关资源
      最近更新 更多