42.FFmpeg学习笔记 - iOS硬解码aac

本文介绍了如何使用AudioQueue在iOS上播放AAC音频,重点在于硬解码的实现。通过AudioQueue的步骤,包括设置数据、启动播放、回调填充缓冲区等,详细阐述了AAC音频的解码播放过程。并提供了GitHub上的代码示例链接。
摘要由CSDN通过智能技术生成

本文通过用AudioQueue来播放AAC,其内部会自动进行解码。可以设置AudioQueue用硬解码还是软解码。

AudioQueue播放步骤如下:

  • 1、给buffer填充数据,并把buffer放入就绪的buffer queue;
  • 2、应用通知队列开始播放;
  • 3、队列播放第一个填充的buffer;
  • 4、队列返回已经播放完毕的buffer,并开始播放下面一个填充好的buffer;
  • 5、队列调用之前设置的回调函数,填充播放完毕的buffer;
  • 6、回调函数中把buffer填充完毕,并放入buffer queue中。

具体步骤:

1.打开文件,用于获取aac数据

    NSURL *url = [[NSBundle mainBundle] URLForResource:@"sintel" withExtension:@"aac"];
    
    OSStatus status = AudioFileOpenURL((__bridge CFURLRef)url, kAudioFileReadPermission, 0, &audioFileID); //Open an existing audio file specified by a URL.
    if (status != noErr) {
        NSLog(@"打开文件失败 %@", url);
        return ;
    }

2.从文件中获取文件信息audioStreamBasicDescrpition,并创建audioQueue,设置回调函数bufferReady

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值