`
地球小野花
  • 浏览: 163131 次
  • 性别: Icon_minigender_1
  • 来自: 马赛大回旋
社区版块
存档分类
最新评论

写一些ALSA的文章

 
阅读更多

什么是ALSA

ALSA是Advanced Linux Sound Architecture,高级Linux声音架构的简称,它在Linux操作系统上提供了音频和MIDI(Musical Instrument Digital Interface,音乐设备数字化接口)的支持。在2.6系列内核中,ALSA已经成为默认的声音子系统,用来替换2.4系列内核中的OSS(Open Sound System,开放声音系统)。  ALSA的主要特性包括:高效地支持从消费类入门级声卡到专业级音频设备所有类型的音频接口,完全模块化的设计, 支持对称多处理(SMP)和线程安全,对OSS的向后兼容,以及提供了用户空间的alsa-lib库来简化应用程序的开发。

Gentoo上的ALSA

从历史上来说,Gentoo提供了两种方法可以使ALSA运行在您的系统上:内核自带的驱动和外部的alsa-driver软件包。这两种方案基本上完成的是同一项任务;这使得提供对外部软件包的支持异常困难和耗时。Gentoo维护者决定不再继续对alsa-driver软件包进行支持,而是将他们的资源集中在Linux内核中的ALSA驱动部分。这份指南将只集中介绍如何通过在内核自带的驱动来配置ALSA。  Jaroslav Kysela过去是这个项目的领导者,这个项目开始于为1998年Gravis Ultrasound所开发的驱动,它一直作为一个单独的软件包开发,直到2002年他被引进入 linux内核的开发版本 (2.5.4-2.5.5)1。从2.6 版本开始ALSA成为Linux内核中默认的标准音频驱动程序集,OSS则被标记为废弃。  ALSA是一个完全开放源代码的音频驱动程序集,除了像OSS那样提供了一组内核驱动程序模块之外,ALSA还专门为简化应用程序的编写提供了相应的函数库,与OSS提供的基于ioctl的原始编程接口相比,ALSA函数库使用起来要更加方便一些。利用该函数库,开发人员可以方便快捷的开发出自己的应用程序,细节则留给函数库内部处理。当然 ALSA也提供了类似于OSS的系统接口,不过ALSA的开发者建议应用程序开发者使用音频函数库而不是驱动程序的API。  Linux中ALSA的主要文件:  include/sound/driver.h  sound/core/*.c

 

  注:OSS(Open Sound System)是Linux中的另外一个音频驱动程序框架。

 

来自百度百科:http://baike.baidu.com/view/1558228.htm

 

上面是对于linux音频系统概念的解释。总的来说,Alsa在整个linux系统中还是比较复杂和重要的。需要花很多的时间去学习和实践。

 

写文的目的主要还是将学习成果记录下来。

 

文章内容可以分为三部分:

 

1, ASoc  Linux 平台部分

2, 音频芯片驱动部分

3, AudioInterface 或者说所 Audio HAL 部分

 

总的来说,应该贯穿linux 平台及驱动和Android 文件系统,几部分内容。

 

又有目标咯~ go!

分享到:
评论

相关推荐

    基于ALSA的网络电话

    本篇文章将深入探讨如何利用ALSA框架在局域网内实现一个网络电话。 首先,理解ALSA的基础至关重要。ALSA包括驱动层、库层和用户空间接口层。驱动层直接与硬件交互,库层提供了一组API供用户空间程序调用,而用户...

    arm 嵌入式系统alsa移植

    在嵌入式系统开发中,尤其是在基于ARM架构的硬件如A33系统上,音频处理是常见的需求之一。ALSA(Advanced Linux Sound Architecture)是Linux...本篇文章将详细介绍如何在A33 ARM系统下移植和配置ALSA库以及其工具apl

    alsa(asoc dapm)框架分析

    文章首先介绍了音频路径的建立方法,随后详细探讨了 DAPM 动态电源管理机制。由于混音器设置是 DAPM 触发的一个关键因素,因此在深入分析 DAPM 之前,将详细介绍混音器设置软件 `alsa_amixer` 的使用方法、`mixer ...

    writing an alsa driver

    本篇文章基于Takashi Iwai撰写的文档,详细介绍了如何编写一个ALSA(高级Linux声音架构)驱动。ALSA是Linux操作系统中的核心音频架构,用于处理各种音频设备的声音输入与输出。对于希望深入理解Linux内核音频系统或...

    Linux_alsa_example_6735.tgz

    这个压缩包很可能是该期刊上的一篇文章或教程的附件,供读者下载并实践操作。 标签"6735.tgz Linux ALSA demo"进一步证实了这个压缩包包含的是一个ALSA的演示或示例代码,可能是为了帮助读者理解如何在Linux环境中...

    Alsa音频编程【精华】.pdf

    ALSA表示高级Linux声音体系结构(Advanced Linux Sound Architecture)。...这篇文章里,我将简单介绍 ALSA项目的基本框架以及它的软件组成。主要集中介绍PCM接口编程,包括您可以自动实践的程序示例。

    alsa_rec_play.zip

    在本篇文章中,我们将深入探讨ALSA的基本概念、工作原理,并结合实例`alsa_rec_play.zip`中的`alsa_play.c`源代码,学习如何在Linux环境下编译和运行一个简单的音频播放程序。 首先,ALSA主要由以下几部分组成: 1...

    qt串口操作,读取rfid, alsa库的使用与播放,Qt中的文字转语音

    在本文中,我们将深入探讨如何在Qt环境中进行...总结来说,本篇文章涵盖了Qt环境下的串口通信、RFID读取、ALSA库的使用和文字转语音功能。理解并掌握这些技术,对于开发涉及硬件交互和多媒体处理的Qt应用程序至关重要。

    android Audio ALSA框架分析

    为了更好地理解这一复杂系统的工作原理,本篇文章将重点解析 Android 音频框架的核心组件及其与 Linux 内核 ALSA 模块之间的交互。 #### 二、Android Audio框架概览 ##### 1. Java 层接口 - **MediaPlayer**: ...

    基于TCC8801的嵌入式Linux ALSA音频驱动设计与研究.pdf

    文章首先介绍了ALSA音频系统框架的架构,然后讨论了TLV 320AIC3110编解码器的驱动设计,并且在TCC8801平台上实现了驱动的设计和实现。 知识点: 1. ALSA音频系统框架:ALSA是一种开源的音频驱动框架,已经成为...

    iMX6q 音频系统调试.docx

    同时,阅读和理解ALSA驱动系列文章可以帮助开发者深入理解音频驱动的工作原理,从而更有效地进行调试和优化。 在调试过程中,注意字符串传递的对应关系虽然可能不够高效,但它是ALSA设计的一部分,允许灵活地连接...

    如何让Quake 3在Linux下顺利运行

    在Linux系统中运行游戏,尤其是较老的游戏如Quake 3,可能会遇到一些兼容性和配置问题。本篇文章将详细介绍如何在Linux环境下成功安装和运行Quake 3,重点关注音频驱动的配置,因为这是游戏运行中可能遇到的关键问题...

    AUDIO CODEC DAPM(包括dapm机制和音频路径详细分析)

    文章将详细介绍DAPM的核心概念和技术细节,并通过实际案例帮助读者更好地理解其工作原理。 为了更好地理解本文内容,读者应具备以下基础知识: 1. **音频系统基础**:了解基本的音频硬件组成和工作原理。 2. **...

    基于嵌入式Linux的数字音频延时系统设计.pdf

    在音频设备驱动程序的实现机制上,文章详细阐述了如何利用ALSA(Advanced Linux Sound Architecture)音频驱动框架来管理和控制音频设备。ALSA提供了丰富的API接口,使得开发者可以方便地进行音频输入输出操作,实现...

    s3c24xx_uda134x.rar_SOC

    本篇文章将深入探讨S3C24XX系列SoC(System on Chip)与UDA134X音频编解码器的集成,以及相关的ALSA(Advanced Linux Sound Architecture)SoC音频板驱动程序。通过了解这些知识,我们可以更好地理解如何在Linux系统...

    KDE桌面环境综览—附感想

    这篇文章主要介绍了KDE的一些核心特性和作者对aRts(Advanced Realtime Sound System)的观察与思考。 首先,aRts是一个在早期KDE中用于音频管理的框架,它允许多音频流同时播放。然而,随着ALSA(Advanced Linux ...

    C语言写的音乐播放器含源代码

    本篇文章将深入探讨一个用C语言编写的音乐播放器,通过其源代码来解析其背后的原理和技术。 首先,我们来了解一下音乐播放器的基本工作原理。音乐播放器的核心功能是解码音频文件,然后将其转换为模拟信号,通过扬...

    蓝牙播放处理工程,蓝牙播放处理工程

    描述中的链接指向了CSDN博客的一个文章,虽然具体内容无法直接在这里提供,但我们可以根据给出的标签来推测文章涉及的关键技术。 "bluealsa" 是一个开源项目,它提供了在Linux系统上使用ALSA(Advanced Linux Sound...

    采用libmad+libao实现最简单的mp3播放器

    libao目前支持包括Null输出(方便在没有音频设备的情况下测试)、WAV文件、AL、OSS(在Linux和FreeBSD上使用)、ALSA(高级Linux声音架构)、PulseAudio(下一代GNOME声音服务器)、ESD(Enlightened Sound Daemon)...

Global site tag (gtag.js) - Google Analytics