手记

【金秋打卡】第11天 Mac下打开音频设备

课程名称音视频基础+ffmpeg原理 入门音视频技术开发
课程章节:【实战】音频采集
课程讲师李超

课程内容

ffmpeg采集音频的流程包括以下三个步骤:

  • 打开输入设备
  • 获取数据包
  • 输出音频文件

在 mac 上采集音频的三个步骤:

  • 注册设备
  • 设置采集方式,其中 Mac下使用 AVFoundation,Linux 下使用 DShow,Windows下使用 Alsa。
  • 打开音频设备

Mac下的示例代码

    #注册设备
    avdevice_register_all();
    #打开音频设备的方式
    const AVInputFormat *avInputFormat = av_find_input_format("alsa");
    #上下文,前面与后面的API都依赖上下文。打开一个多媒体文件,去封装,编解码等操作都依赖于上下文件。
    AVFormatContext *fmtCtx = NULL;
    const char *deviceName = "hw:0,0";
    #打开设备的方式。解码时会用
    AVDictionary *options = NULL;
    int ret = 0;
    char errors[1024] = {0};
    // open device
    ret = avformat_open_input(&fmtCtx, deviceName, avInputFormat, &options);
    if (ret < 0)
    {
        av_strerror(ret, errors, sizeof(errors));
        printf("failed to open audio device, [%d]%s\n", ret, errors);
    }

0人推荐
随时随地看视频
慕课网APP