自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Android/Linux音频架构开发ALSA-篇6

这里我们主要看下snd_ctl_elem_read_user和snd_ctl_elem_write_user,应用层控制就通过调用ioctl传入SNDRV_CTL_IOCTL_ELEM_READ和SNDRV_CTL_IOCTL_ELEM_WRITE即可。上面snd_ctl_elem_write和snd_ctl_elem_read方法最终调用了kctl的put和get方法,这两个方法其实一般也是我们给的,我们来看下是如何给到的。获取snd_card,然后调用snd_register_device。

2024-08-09 16:51:19 845

原创 Android/Linux音频架构开发ALSA-篇2

我们先来一张图来宏观的看一下ASLA的主要部分如图所示,我们可以看到整个系统是分为四个部分,运行app的用户层、linux中间层、Android hal层、kernel层、硬件层。我们的ASLA主要存在中间层和kernel层,中间层有一个alsa-lib的库,会提供api接口给app调用,app调用这个接口就可以传输音频数据或者控制信号给到kernel层的alsa driver,最终将数据写入到硬件层进行发声。这里还有个alsa soc,他是针对alsa driver的又一层封装,后面我们也会讲到。

2024-08-06 14:30:35 649

原创 Android/Linux音频架构开发ALSA-篇5

文章讲解了pcm逻辑设备的创建过程,阐述了用户空间是如何查找到设备并调用驱动代码的。

2024-08-06 09:10:49 768

原创 Android/Linux音频架构开发ALSA-篇1

详细介绍音频的基本知识,为后续学习alsa架构奠定理论基础

2024-08-05 17:24:34 451

原创 Android/Linux音频架构开发ALSA-篇4

详细讲解了音频alsa架构中声卡的创建流程,通过剖析源码,进一步了解其中奥秘。

2024-08-05 17:18:08 386

原创 socket多线程和Ringbuffer详解

文章主要介绍了如何使用ringbuffer环形缓冲区在多线程之间传输音频数据。

2024-08-02 14:00:50 998

原创 Android/Linux音频架构开发ALSA-篇3

文章介绍了ALSA的架构知识,讲述如何创建一个声卡snd_card,如何理解声卡。

2024-08-02 13:45:06 561

原创 window搭建opengrok和简单使用

讲解opengrok的搭建流程和简单的使用方式,丝滑的代码阅读-RTFSC

2023-01-31 14:35:55 906

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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