ALSA驱动
文章平均质量分 91
hedtao
这个作者很懒,什么都没留下…
展开
-
Linux ALSA声卡驱动之一:ALSA架构简介
本内容均由http://blog.csdn.net/droidphone原创一. 概述 ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。 在内核设备驱动层转载 2013-07-01 13:59:37 · 581 阅读 · 0 评论 -
snd_soc_codec_device 之 snd_soc_new_pcms
转自:snd_soc_codec_device 之 snd_soc_new_pcms以wolfsen的wm8900 codec为例,在wm8900.c中可以看到struct snd_soc_codec_device soc_codec_dev_wm8900 = {.probe = wm8900_probe,.remove = wm8900_remove,.sus转载 2013-07-19 15:27:11 · 805 阅读 · 0 评论 -
ALSA的理解
以mini210-wm8960参考,学习alsa驱动相关注册及流程笔记记录如下,部分内容参考linux audio(alsa) 驱动注册的简明流程.大体结构: cpu_dai-------指的是I2C通路.codec_dai-----codec的功能,如录音放音参数。codec_dev-----解码设备,重点platform------据我看只是做了pcm的操作原创 2013-07-18 14:38:04 · 1319 阅读 · 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 14:25:44 · 890 阅读 · 1 评论 -
Linux ALSA声卡驱动之七:ASoC架构中的Codec
1. Codec简介在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听电话时,音频信号在codec内的流通路线是不一样的对音频信号做出相应的处理,例如音量控转载 2013-07-01 14:25:03 · 633 阅读 · 1 评论 -
Linux ALSA声卡驱动之六:ASoC架构中的Machine
前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器);单独的Platform和Codec驱动是不能工作的,它必须由Machine驱动把它们结转载 2013-07-01 14:24:06 · 920 阅读 · 0 评论 -
Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)
1. ASoC的由来ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性: Codec驱动与SoC CPU的底层耦合过于紧密,这种不理想会导致代码的重复,例如,仅是wm8731的驱动,当时Lin转载 2013-07-01 14:22:58 · 433 阅读 · 0 评论 -
Linux ALSA声卡驱动之四:Control设备的创建
本内容均由http://blog.csdn.net/droidphone原创Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过control接口的API来实现的。转载 2013-07-01 14:11:13 · 588 阅读 · 0 评论 -
Linux ALSA声卡驱动之三:PCM设备的创建
本内容均由http://blog.csdn.net/droidphone原创1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值转载 2013-07-01 14:08:11 · 573 阅读 · 0 评论 -
Linux ALSA声卡驱动之二:声卡的创建
本内容均由http://blog.csdn.net/droidphone原创1. struct snd_card 1.1. snd_card是什么snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体。正因为转载 2013-07-01 14:03:27 · 586 阅读 · 0 评论 -
基于Linux ALSA音频驱动的wav文件解析及播放程序
本设计思路:先打开一个普通wav音频文件,从定义的文件头前面的44个字节中,取出文件头的定义消息,置于一个文件头的结构体中。然后打开alsa音频驱动,从文件头结构体取出采样精度,声道数,采样频率三个重要参数,利用alsa音频驱动的API设置好参数,最后打开wav文件。定位到数据区,把音频数据依次写到音频驱动中去,开始播放,当写入完成后,退出写入的循环。 注意:本设计需要alsa转载 2013-10-24 11:07:19 · 787 阅读 · 1 评论