alsa

Windra64 个月前
pcm·kernel·alsa·audiotrack·audiorecord·audioflinger
RK3588 Android12音频驱动分析全网最全从这张图可以看到音频数据流一共经过了3个用户空间层的进程,然后才流到kernel驱动层。Android版本越高,通用性越高,耦合性越低,但是带来的资源开销也越大,延时也越大。本文主要介绍驱动层相关的知识。详细流程可以参考:Android12 AudioFlinger 读写PCM数据-CSDN博客; Android12 Native C++ 层AudioRecord录音AudioTrack播放_android c++ 录制音频-CSDN博客
zhoujiazhao5 个月前
音视频·alsa·softvol·route插件·multi插件·async插件·采样率转换插件
【004_音频开发_基础篇_ALSA插件使用】学历代表过去、能力代表现在、学习力代表将来。 一个良好的学习方法是通过输出来倒逼自己输入。写博客既是对过去零散知识点的总结和复盘,也是参加了 零声教育 写博客活动。
zhoujiazhao5 个月前
linux·架构·音视频·解码器·alsa·音箱·hifi
【002_音频开发_基础篇_Linux音频架构简介】学历代表过去、能力代表现在、学习力代表将来。 一个良好的学习方法是通过输出来倒逼自己输入。写博客既是对过去零散知识点的总结和复盘,也是参加了 零声教育 写博客活动。
thinkMoreAndDoMore6 个月前
音视频·音频·alsa
零基础入门多媒体音频(5)-alsa(1)alsa是音频最重要的框架,没有之一。接下来一个月时间在总结工作知识的主线上。单开个音频支线讲解alsa。说实话,alsa这块我也不是很精通。只在过去的项目中增加 一路substream实现低延时。我打算从下面四个方面去学习alsa。 1.alsa官网。网址如下,大家也可以学习后在评论里 交流,互相进步。如果想偷懒也可以直接看我的总结。 https://www.alsa-project.org/wiki/Main_Page
Free飝Fly9 个月前
ffmpeg·音视频·alsa
FFMPEG指令处理音频使用指南一、使用ffmpeg播放音频文件alsa.conf文件需要放到下面路径:usr/share/alsa/alsa.conf
wkd_0071 年前
音视频·alsa·alsa-lib·xrun
【音视频|ALSA】基于alsa-lib开发ALSA应用层程序--附带源码😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭 🤣本文内容🤣:🍭基于alsa-lib开发ALSA应用层程序🍭 😎金句分享😎:🍭盖士人读书,第一要有志,第二要有识,第三要有恒。有志则断不甘为下流,有识则知学问无尽,不敢以一得自足,如河伯之观海,如井蛙之窥天,皆无识者也。有恒则断无不成之事,此三者缺一不可。 ——《曾国藩家书》🍭
wolfcs1 年前
alsa·音频驱动
Tinyalsa PCM API 实现深度剖析高级 Linux 音频架构 (ALSA) 用于为 Linux 操作系统提供音频和 MIDI 功能。它可以高效地支持所有类型的音频接口,从消费者声卡到专业的多通道音频接口。它支持全模块化的音频驱动。它是 SMP 和线程安全的。它提供了用户空间库 (alsa-lib) 来简化应用程序编程并提供了更高级的功能。它支持老式的 OSS API。
wkd_0071 年前
音视频·alsa·alsa-lib
【音视频|ALSA】ALSA是什么?ALSA框架详细介绍😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭 🤣本文内容🤣:🍭ALSA是什么?ALSA框架详细介绍🍭 😎金句分享😎:🍭有机会一定要试试,其实试错的成本并不高,而错过的成本很高🍭
口嗨农民工1 年前
linux·pcm·alsa
alsa pcm设备之硬件参数硬件参数包含了stream描述比如格式,采样率,通道数,和ringbuffer 圆形缓存区大小等. 使用snd_pcm_hw_params_t ,ALSA pcm设备使用了参数重定义系统相关的硬件参数,应用程序首先选择全范围的配置, 然后应用程序设置单个参数,直到所有参数都是基本的(确定的). 格式 量化位數: 使用snd_pcm_format_t, SND_PCM_FORMAT_U16_LE,SND_PCM_FORMAT_A_LAW , 访问模式: 有5种访问模式. SND_PCM_ACCESS_RW_
口嗨农民工1 年前
linux·pcm·alsa
alsa pcm设备之設置软件相关参数软件相关的参数: snd_pcm_sw_params_t设置的参数可以修改在任何时候包括运行中的状态. Transfer align: 读写传输可以与此示例计数对齐,通常此值设置为1(无对齐). Start threshold: Start threshold参数用来表示stream启动的开始点,对于playback方向,加入samples样本数存在ring buffer等于或大于start threshold参数并且stream并没有运行,pcm设备将会自动开始运行,对于capture方向,假如应用程序
口嗨农民工1 年前
linux·pcm·alsa
ALSA pcm接口的概念解释PCM(数字音频)接口 PCM缩写: Pulse Code Modulation脉冲调制编码,我们理解为通过一定连续时间周期产生数字音频并带有音量样本的处理过程. 模拟信号被记录通过模拟到数字转换器,数字值(也就是某个特定时刻的音量值)获得来自ADC可以进一步处理,接下的图片展示的是个sine waveform
口嗨农民工1 年前
linux·pcm·alsa
alsa pcm接口之阻塞和非阻塞打开和异步通知模式阻塞和非阻塞打开(Blocked and non-blocked open) 当设备打开在一个阻塞或非阻塞模式,ALSA pcm api接口使用不同的行为,模式可以指定通过mode参数通过snd_pcm_open函数,blocked mode阻塞模式是默认打开方式,在这个模式下,行为表现为当资源被其他应用程序使用,应该阻塞调用者,直到资源释放出来了.非阻塞行为表现为(SND_PCM_NONBLOCK)不会阻塞调用者,如果当前资源不可使用的话,可以返回一个 -EBUSY的错误.注意模式还决定了标准I/O调用
口嗨农民工1 年前
pcm·alsa
alsa pcm接口之在unix环境的传输方法在unix环境,数据片段响应被接受通过standard I/O call或事件等待路径(poll或select功能),为完成列表,异步通知响应该被列举出来.ALSA实现那些方法被描述在ALSA transfers部分. 标准I/O传输(Standadrd I/O transfers) 这个标准I/O传输常常使用read和write C语言函数集,对于那些函数那儿有两种基本行为-blocked和non-blocked,在non-block 行为,那些I/O函数不会停止,当没有数据可以传输(the ringb