Linux音频子系统
gjy938815
这个作者很懒,什么都没留下…
展开
-
alsa声卡/dev/snd/pcmC0D0p的open打开流程
soc_probe==> snd_soc_register_card或者snd_soc_register_dai或者snd_soc_register_platform或者snd_soc_register_codec==> snd_soc_instantiate_cards==> snd_soc_instantiate_card==> codec_dev->probe==> ud转载 2013-06-26 10:07:54 · 1682 阅读 · 0 评论 -
Linux ALSA声卡驱动之八:ASoC架构中的Platform .
1. Platform驱动在ASoC中的作用前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音信信号。在具体实现上,ASoC有把Platform驱动分为两个部分:snd_soc_plat转载 2013-07-01 08:28:55 · 719 阅读 · 0 评论 -
Linux ALSA声卡驱动之二:声卡的创建 .
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!1. struct snd_card 1.1. snd_card是什么snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_c转载 2013-06-30 21:31:55 · 557 阅读 · 0 评论 -
Linux ALSA声卡驱动之六:ASoC架构中的Machine .
前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器);单独的Platform和Codec驱动是不能工作的,它必须由Machine驱动把它们结转载 2013-07-01 08:28:41 · 516 阅读 · 0 评论 -
基于alsa的音量控制代码
//头文件#include //类定义class Sound { public: Sound(); ~Sound(); int sound_read(); void sound_write(int); private: snd_mixer_t * mixer; snd_mixer_elem_t *pcm_eleme转载 2013-09-16 15:24:20 · 2767 阅读 · 0 评论 -
alsa相关的配置文件 .
在根文件系统下,alsa相关的配置文件有:在/system/usr/share/alsa目录下:├── alsa.conf ├── cards │ └── aliases.conf └── pcm ├── center_lfe.conf ├── default.conf ├── dmix.conf ├── d转载 2013-09-16 15:27:10 · 843 阅读 · 0 评论 -
asound.conf配置 .
配置文件 /etc/asound.conf(简易配置) : {{{ pcm.!default{ type hw card 1 devive 7 } ctl.!default{ type转载 2013-09-16 15:28:34 · 1334 阅读 · 0 评论 -
杂记asla-lib库函数snd_pcm_open打开流程 .
aplay.c==> main==> snd_pcm_open(&handle, pcm_name, stream, open_mode);// 打开一路pcm,刷新config配置如果是"default",同时type等于SND_CONFIG_TYPE_COMPOUND那么这里对应"empty"static const char *const build_in_pcms[] =转载 2013-09-16 15:29:42 · 1310 阅读 · 0 评论 -
amixer,aplay,arecord交叉编译及使用
一.amixer用于控制设置 amixer的帮助提示信息[cpp] view plaincopyprint?Usage: amixer [command] Available options: -h,--help this help -c,--card N select the card -D,--device N转载 2013-09-18 15:16:59 · 1039 阅读 · 0 评论 -
Linux ALSA声卡驱动之三:PCM设备的创建 .
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢! 1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信转载 2013-06-30 21:32:30 · 695 阅读 · 0 评论 -
Linux ALSA声卡驱动之七:ASoC架构中的Codec .
1. Codec简介在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听电话时,音频信号在codec内的流通路线是不一样的对音频信号做出相应的处理,例如音转载 2013-07-01 08:28:48 · 591 阅读 · 0 评论 -
ALSA的ioctl - hwdep
hwdep模块简述字符设备驱动中,ioctl是一个很常见的IO设备操作函数,可以自定义cmd命令字并实现对应的设备IO控制。音频设备的控制有所不同:驱动层大部分控制操作定义各种snd_kcontrol_new,然后注册到SNDRV_DEV_CONTROL模块中(sound\core\control.c),详见snd_kcontrol探究;而上层调用alsa-lib的snd_ctl_转载 2013-06-26 09:44:36 · 648 阅读 · 0 评论 -
ALSA SOC在Linux3.1上的一些改进 .
Android迈进了4.0,相应的Linux内核也进入了3.x时代。之后的一个工作估计要将2.6.32的驱动移植到3.x上面来。因此趁现在有空,看看alsa在这方面有什么改动。TAG: 音频系统 SOC ALSA 2012已经到来,无论这个世界是否行将毁灭,在那之前的日子还得要继续。Android迈进了4.0,相应的Linux内核也进入了3.转载 2013-06-26 10:00:36 · 678 阅读 · 0 评论 -
我对linux理解之alsa
------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:amingriyue.blog.chinaunix.net------------------------------------------我们以imx51为平台,去分析alsa的架构。有两个文件跟平台具体相关的:一个是跟cpu的音频接转载 2013-06-28 08:50:00 · 1218 阅读 · 0 评论 -
alsa音频架构
alsa音频架构1第一部分 alsa子系统关键结构体对象等1.声卡设备类型定义#define SNDRV_DEV_TOPLEVEL ((__force snd_device_type_t) 0)#define SNDRV_DEV_CONTROL ((__force snd_device_type_t) 1) #define SNDRV_DEV_LOWLEVEL_PRE ((转载 2013-06-29 08:47:57 · 3179 阅读 · 1 评论 -
Linux ALSA声卡驱动之一:ALSA架构简介 .
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢! 一. 概述 ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/转载 2013-06-30 21:31:19 · 518 阅读 · 0 评论 -
Linux ALSA声卡驱动之四:Control设备的创建 .
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过control接口转载 2013-06-30 21:32:56 · 749 阅读 · 0 评论 -
Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC) .
1. ASoC的由来ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性: Codec驱动与SoC CPU的底层耦合过于紧密,这种不理想会导致代码的重复,例如,仅是wm8731的驱动,当时Lin转载 2013-07-01 08:28:33 · 553 阅读 · 0 评论 -
混音器原理及Mixer API函数介绍
混音器原理及Mixer API函数介绍 为了理解Mixer API是如何工作的,首先我们得弄清楚一个典型声卡的硬件组成。因此非常有必要去建立一个声卡模型,此声卡应拥有多个典型的组件并且这些组件都是相关联的。让我们看一个典型的、最基本的声卡。首先,如果声卡能够进行数字化录音,那么典型情况下它就有一个Microphone Input(麦克风传声器,下同)(附有某种前置放大器),同时它还有一转载 2013-09-19 20:53:08 · 885 阅读 · 0 评论