嵌入式爱好者

查看: 70794|回复: 2

[Linux] alsa配置采样率

[复制链接]

5

主题

9

帖子

25

积分

扫一扫,手机访问本帖
发表于 2021-4-22 20:11:20 | 显示全部楼层 |阅读模式

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

使用道具 举报

0

主题

1173

帖子

2203

积分

发表于 2021-4-23 09:46:40 | 显示全部楼层
Invalid argument是指无效参数,您这个参数识别不了,您可以在原厂资料里查一下音频相关内容
点评回复 支持 反对

使用道具 举报

5

主题

9

帖子

25

积分

 楼主| 发表于 2021-4-23 15:58:26 | 显示全部楼层
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: %s\n",snd_strerror(rc));
                snd_pcm_hw_params_free(hwparams);
                return -1;
        }
这是我的代码,采样率除了8000都设置不了,原厂资料写的都支持
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2025-1-9 05:59

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表