自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (7)
  • 收藏
  • 关注

原创 OpenHarmony系统HDF驱动开发介绍(补充)

Open Harmony系统HDF驱动开发介绍

2025-05-14 19:32:34 1252

原创 1.3.3 tinyalsa详细介绍

TinyALSA 是一个轻量级的音频库,专为资源受限的嵌入式设备设计,旨在替代复杂的标准 ALSA 库。

2025-05-12 22:28:18 755

原创 1.3.2 linux音频PulseAudio详细介绍

PulseAudio (简称 PA)最初由 Lennart Poettering 于 2004 年开发,是一个“声音服务器”,可以在后台运行并管理来自不同程序的音频流。通过 PulseAudio,用户可以在系统上灵活、统一地控制和混合音频输出和输入。

2025-05-09 19:06:36 1177

原创 1.3.1 Linux音频框架alsa详细介绍

Linux音频框架alsa详细介绍

2025-05-08 18:58:02 844

原创 1.2.2 Audio音频基础概念

是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。即声音的音色,同样的频率和振幅下,钢琴和小提琴的声音听起来完全不同的,因为他们的音色不同,波形决定了其所代表声音的音色。音色不同是因为它们的介质所产生的波形不同。在交错模式下,音频数据以交替的方式存储,先存储一个通道的所有样本,然后是另一个通道的所有样本,以此类推。MP3编码具有不错的压缩比,而且听感也接近于WAV文件,当然在不同的环境下,应该调整合适的参数来达到更好的效果。

2025-05-07 19:01:07 707

原创 1.2.1 Linux音频系统发展历程简介

Linux音频系统经历了OSS(简单、独占)——ALSA(现代、高兼容、模块化)——PulseAudio(更上一层的用户体验、网络、多设备高效管理)。ALSA重点解决了硬件支持和资源管理,PulseAudio则成为Linux桌面普及、音频体验提升的关键因素之一。近期还出现PipeWire(融合音频与视频、低延迟、高灵活),但这属于新的阶段。

2025-05-07 18:36:03 421

原创 1.2 Linux音频系统发展历程与关键技术演进

代码来源:ALSA官方开发文档实践

2025-05-07 18:16:59 449

原创 1.1 Linux音频系统的基本概念

*高清音频(High-Definition Audio):**支持更高采样率(如24位/192kHz)和更宽动态范围的音频系统,通常用于专业音频制作和高端消费电子产品。**ALSA(Advanced Linux Sound Architecture):**Linux原生的音频架构,提供完善的音频驱动和用户空间工具。**PulseAudio:**基于ALSA的高级音频服务器,提供跨应用的音频混音、路由和网络音频流功能。**JACK:**面向专业用户的音频框架,支持低延迟和高精度的音频处理。

2025-05-06 19:39:09 333

原创 音频质量客观评价标准(信噪比、总谐波失真等)

在音频开发和评测过程中,音频质量的客观评价标准对于确保产品性能和用户体验非常重要。

2024-07-24 23:56:24 2830

原创 多声道音频和高清音频(如Dolby Digital、DTS)和使用

多声道音频是指使用多个独立的音频信号通道来创建更逼真的和包围感更强的声音体验。包括5个全频带声道(前左、前中、前右、后左、后右)和1个低频效果声道(LFE,通常用于低音炮)。相对于5.1声道,增加了两个侧面声道(侧左、侧右),进一步增强声音的包围感。

2024-07-24 22:17:01 1711

原创 提升音频驱动性能的方法和调试中常见问题的解决方案

提升音频驱动性能和解决常见调试问题是确保高质量音频体验的关键。

2024-07-23 22:19:42 686

原创 Linux音频驱动开发过程中常用的调试、性能分析和测试工具

在音频驱动程序开发过程中,使用正确的调试、性能分析和测试工具可以显著提高工作效率并确保最终产品的质量。

2024-07-23 21:37:34 592

原创 Linux 创建gpiochip 流程和使用流程

Linux GPIO控制器驱动,gpio_chip结构体。

2024-07-23 21:13:31 1286

原创 Linux alsa框架代码目录结构介绍

理解ALSA在Linux内核中的目录结构对于开发和调试音频驱动程序至关重要。sound/core:包含ALSA核心框架和通用功能实现,适用于所有类型的音频设备。sound/pci:专用于PCI总线的声卡驱动程序。sound/soc:用于ASoC框架的嵌入式和便携设备的音频驱动。sound/usb:包含USB音频设备和MIDI设备的驱动程序。sound/drivers:包含不属于其他类型分类的特殊音频驱动。

2024-07-23 20:51:31 1049

原创 Linux 通过调用alsa lib接口获取支持的音频格式

接下来,我们使用 snd_pcm_hw_params_test_format 函数检查了多个 PCM 格式是否被设备支持(检查的格式包括 SND_PCM_FORMAT_U8, SND_PCM_FORMAT_S16_LE,等等)。最后,释放硬件参数对象并关闭 PCM 设备。在使用此函数之前,你需要先设置好 PCM(音频设备)和硬件参数(hw_params)的其他方面。如果你想列举所有支持的格式,你一般会循环遍历所有可能的音频格式并使用 snd_pcm_hw_params_test_format 进行测试。

2024-07-23 18:41:50 290

原创 Linux系统ALSA DAPM 中的控制(Controls)功能介绍

在 ALSA(Advanced Linux Sound Architecture)音频框架中,DAPM(Dynamic Audio Power Management)不仅通过路径(Routes)管理音频流的传输,还通过控制(Controls)功能来管理音频设备中的开关和参数调节。将控制器添加到声卡: 在音频驱动的初始化函数中,使用 snd_soc_add_dapm_controls 函数将定义好的控制器注册到 DAPM 系统中。声明路径和控制器: 一样在声卡的初始化过程中,我们可以同时添加路径和控制器。

2024-07-19 19:27:20 434

原创 Linux系统ALSA音频框架 DAPM中的Routes介绍

DAPM通过路径(Routes)来描述音频信号在各种音频组件之间的传输路径,从而实现以最低的功耗提供所需的音频功能。路径管理: DAPM会根据定义的路径在运行时动态管理音频组件的电源状态。声明路径: 在声卡驱动的初始化函数中,将定义好的路径注册到DAPM系统中。定义路径: 路径的定义通常在音频驱动程序中以一个 snd_soc_dapm_route 结构体数组的形式出现。通过这种方式,DAPM有效地管理了复杂音频系统的电源状态,确保在需要时提供最佳的音频功能,同时在不需要时最大限度地节省电力。

2024-07-19 18:57:34 682

原创 Linux ALSA widget模块介绍

SND_SOC_DAPM_PGA(“Pre-Amp”, SND_SOC_NOPM, 0, 0, NULL, 0), // 定义一个放大器节点,用于信号增益。SND_SOC_DAPM_PGA(“Pre-Amp”, SND_SOC_NOPM, 0, 0, NULL, 0), // 定义一个放大器节点,用于信号增益。SND_SOC_DAPM_MIXER(“Mixer”, SND_SOC_NOPM, 0, 0, NULL, 0), // 定义一个混音器节点。

2024-07-17 18:07:08 811

原创 Linux alsa音频框架DAPM介绍

而DAPM(Dynamic Audio Power Management,动态音频电源管理)是ALSA系统中的一个关键组件,主要负责在音频播放和录制过程中动态控制音频部件的电源状态,以实现节能。DAPM分为多个组件,每个组件代表音频传输路径中的一个节点,例如麦克风、放大器、DAC(数模转换器)、ADC(模数转换器)等。总结来说,DAPM是一个功能强大且复杂的组件,通过动态管理音频路径和节点的电源状态,显著降低了系统的整体功耗,对于在ALSA框架下开发音频应用的开发者来说非常重要。节点之间通过路径连接。

2024-07-17 17:23:46 418

原创 C语言实现解析HDMI设备的EDID信息获取音频参数代码示例

在C语言中解析HDMI设备的EDID(扩展显示标识数据)以获取音频参数,首先需要了解EDID的结构。EDID是一个128字节(或更多,但基础版本是128字节)的数据块,其中包含了关于显示器或HDMI设备的大量信息,包括制造商信息、产品代码、支持的显示模式、以及音频支持等。EDID中关于音频的支持主要在特定区块内,尤其是音频描述符(Audio Data Blocks,ADB)部分。请注意,这个示例假设你已经有了EDID数据的访问权限(例如,通过读取系统文件或直接从HDMI接口获取)。

2024-07-05 18:02:20 494

原创 内存区域划分

程序内存区域的划分介绍

2024-07-02 19:30:25 381

原创 linux内核上报uevent事件的例子

linux内核上报uevent事件的例子。

2024-07-02 19:26:48 322

原创 生活琐碎感想

我们就像走在一个模糊的道路上,虽然你规划这未来并为之努力奋斗,虽然有时候会不如意会有曲折,但是心想事成我觉得是真的,生活的大方向还是会朝向你预期的方向发展,中间会有曲折,走过曲折或许给你安排了一个更好的结果。我希望明天会更好,我希望大家都为梦想而活。现在31岁,上班,西安现在还是房价很高,我想在西安买个学区房,又想让孩子上好点的学校房价又太高,今年这几个月已经搬了3次家了,不知道为什么,越想是稳定,这些事情又是突如其来,真的是没想到。我时长觉得很多事情是冥冥之中的安排,无论好坏都要接受,可能都是好的安排。

2024-05-26 15:12:31 136

原创 OpenHarmony音频详解--ADM驱动框架介绍(4)

OpenHarmony 音频驱动声卡驱动加载流程分析

2023-12-10 20:35:32 381 3

原创 OpenHarmony音频详解--ADM驱动框架介绍(3)

OpenHarmony 音频驱动框架介绍

2023-12-07 22:17:52 395 4

原创 OpenHarmony音频详解--ADM驱动框架介绍(2)

OpenHarmony音频驱动框架介绍

2023-12-06 21:28:52 954

原创 OpenHarmony音频详解--ADM驱动框架介绍(1)

OpenHarmony音频驱动框架介绍

2023-12-05 22:39:30 414

原创 OpenHarmony系统驱动HDF框架驱动介绍

OpenHarmony HDF驱动说明

2022-03-31 19:26:15 1290

原创 OpenHarmony音频驱动介绍

OpenHarmony 音频驱动ADM介绍

2022-03-31 18:29:28 1526

原创 设备驱动缩略语或术语,全称,描述

缩略语或术语全称描述,摘自HarmonyOS Device Developer学员用书。CMSIS Cortex Microcontroller Software Interface Standard 微控制器软件接口标准。POSIX Portable Operating System Interface 可移植操作系统接口。WLAN Wireless Local Area Network 无线局域网。GPIO General-purpose input/output

2021-10-23 21:40:34 253

Hi3559A╱C V100 ultra-HD Mobile Camera SoC 用户指南

Hi3559A╱C V100 ultra-HD Mobile Camera SoC 用户指南,Hi3559A╱C V100 ultra-HD Mobile Camera SoC 用户指南

2020-12-11

Linux指令命令行汇总大全包括指令说明

最近都在和Linux打交道,我觉得Linux相比麻烦的地方就是都要用命令来控制,命令比较短小但直接和系统交流,灵活性很高。我将我了解到的命令列举一下,仅供大家参考:Linux指令汇总大全,包括指令说明。

2020-10-28

RSA加密算法解析加实例分析

RSA加密算法介绍,密匙的求解过程讲解,密匙的求解实例分析。

2018-05-14

一看就懂的51单片机RS232串口程序

一个一看就懂得51单片机RS232串口程序

2016-06-15

android手机拍照源码

android手机拍照源码,调用手机相机完手机的拍照,可以参考学习

2015-08-02

完整若水新闻客户端和服务器端源代码

完整 若水新闻android客户端,和服务器端源代码,希望对你有帮助

2015-08-02

流水灯proteus仿真包括c程序

流水灯proteus仿真包括c程序在内,包括仿真电路图在内。

2015-06-29

空空如也

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

TA关注的人

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