iOS 音频处理, AVAudioEngine

本文探讨了iOS中音频处理的两种主要格式ASBD(AudioStreamBasicDescription)和ASPD(AudioStreamPacketDescription)。ASBD用于非压缩音频如wav,而ASPD则用于压缩音频如mp3,其中压缩音频的数据帧不均匀分布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

音频处理的格式有 ASBD , AudioStreamBasicDescription

和 ASPD, AudioStreamPacketDescription

有 ASPD ,就是压缩音频,例如 mp3

let isCompressed = packetDescriptionsOrNil != nil

没有 ASPD ,就使用 ASBD, 就是非压缩音频,例如 wav

压缩音频,里面的数据不均匀,每个包含有的帧数据不等

func ParserPacketCallback(_ context: UnsafeMutableRawPointer, _ byteCount: UInt32, _ packetCount: UInt32, _ data: UnsafeRawPointer, _ packetDescriptions: Optional<UnsafeMutablePointer<AudioStreamPacketDescription>>) {
    let parser = Unmanaged<Parser>.fromOpaque(context).takeUnretainedValue()
    let packetDescriptionsOrNil: UnsafeMutablePointer<AudioStreamPacketDescription>? = packetDescriptions
    let isCompressed = packetDescriptionsOrNil != nil
    os_log("%@ - %d [bytes: %i, packets: %i, compressed: %@]", log: Parser.loggerPacketCallback, type: .debug, #function, #line, byteCount, pa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值