snd_pcm_ops

ALSA驱动主要是实现snd_pcm_ops中的相关函数。 1. snd_pcm_ops 接着我们看一下snd_pcm_ops结构体,该结构体的操作函数集的实现是本模块的主体。 struct snd_pcm_ops { int (*open)(struct snd_pcm...

2012-11-27 17:44:25

阅读数:5196

评论数:0

alsa-lib如何解析asound.conf

1. 简介 无论是在录音还是在放音,都要打开一个PCM流,具体对应的函数原型为: int snd_pcm_open(snd_pcm_t **pcmp, const char *name, snd_pcm_stream_t stream, int mode);  本文以录音为例介绍一下它...

2012-11-27 16:18:22

阅读数:7103

评论数:0

open("/dev/dsp")函数调用流程 --OSS接口

open("/dev/dsp") ==> sys_open ==> soundcore_open (所有的fops以iminor为索引放在全局static struct sound_unit *chains[SOUND_STEP];中) ==> snd_...

2012-11-27 11:45:53

阅读数:3364

评论数:0

snd_pcm_open打开流程

aplay.c ==> main ==> snd_pcm_open(&handle, pcm_name, stream, open_mode); // 打开一路pcm,刷新config配置 如果是"default",同时type等于SND_CONFIG...

2012-11-27 09:22:33

阅读数:20927

评论数:3

Linux ALSA声卡驱动之八:ASoC架构中的Platform

1.  Platform驱动在ASoC中的作用        前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输...

2012-11-26 16:59:50

阅读数:2496

评论数:0

Linux ALSA声卡驱动之七:ASoC架构中的Codec

1.  Codec简介      在移动设备中,Codec的作用可以归结为4种,分别是: 对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,...

2012-11-26 15:23:13

阅读数:1936

评论数:0

Linux ALSA声卡驱动之六:ASoC架构中的Machine

1. 简介         前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(...

2012-11-26 11:51:42

阅读数:2054

评论数:0

Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)

1.  ASoC的由来         ASoC--ALSA System on Chip  ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性: Co...

2012-11-16 08:39:02

阅读数:1922

评论数:0

Linux ALSA声卡驱动之四:Control设备的创建

1. Control接口        Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过cont...

2012-11-15 14:51:16

阅读数:2097

评论数:0

Linux ALSA声卡驱动之三:PCM设备的创建

1. PCM是什么         PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在...

2012-11-15 11:46:49

阅读数:11004

评论数:1

Linux ALSA声卡驱动之二:声卡的创建

1. struct snd_card  1.1. snd_card是什么        snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_c...

2012-11-15 11:23:56

阅读数:2217

评论数:0

Linux ALSA声卡驱动之一:ALSA架构简介 .

一.  概述     ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。     在内核...

2012-11-15 09:49:57

阅读数:2291

评论数:0

Android中使用ALSA声卡及alsa.conf asound.conf

1. 配置文件 总共有三个配置文件:  1) /system/usr/share/alsa/alsa.conf :它指定了另外两个配置文件的路径  2) /etc/asound.conf  3) .asoundrc 可通过cat /proc/asound/cards查看当前系统有哪些声卡...

2012-11-08 12:04:58

阅读数:13442

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭