瑞芯微Rockchip开发者社区
直播中

jfsky

16年用户 510经验值
私信 关注
[问答]

alsa配置采样率报错这是什么原因呢

我用snd_pcm_hw_params_set_rate_near(pcm, hwparams,&hz,&dir);
采样率 hz=8000就好用,配置成别的例如16000
snd_pcm_hw_params(pcm, hwparams)函数报错Invalid argument
这是什么原因呢



回帖(2)

李小红

2022-1-4 11:21:03
Invalid argument是指无效参数,您这个参数识别不了,您可以在原厂资料里查一下音频相关内容
举报

李萍

2022-1-4 11:21:11

  • snd_pcm_hw_params_malloc(&hwparams); // 或者 snd_pcm_hw_params_alloca(&hwparams);
            snd_pcm_hw_params_any(pcm, hwparams); // 使用pcm设备初始化hwparams
             /* Interleaved mode */
            snd_pcm_hw_params_set_access(pcm, hwparams,SND_PCM_ACCESS_RW_INTERLEAVED);
             /* 44100 bits/second sampling rate (CD quality) */
            hz=16000;
             snd_pcm_hw_params_set_rate_near(pcm, hwparams,&hz,&dir)
            /* Write the parameters to the driver */
            if ((rc=snd_pcm_hw_params(pcm, hwparams)) < 0)
            {
                    fprintf(stderr,  "unable to set hw parameters: %sn",snd_strerror(rc));
                    snd_pcm_hw_params_free(hwparams);
                    return -1;
            }
    这是我的代码,采样率除了8000都设置不了,原厂资料写的都支持
举报

更多回帖

发帖
×
20
完善资料,
赚取积分