
PulseAudio实战进阶系列
文章平均质量分 53
在Android平台上音频引擎为AudioFlinger,但是在Linux平台则是PulseAudio的天下,几乎所有操作系统使用的都是PulseAudio,值得多媒体开发者研究学习.
优惠券已抵扣
余额抵扣
还需支付
¥299.90
¥399.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
Android系统攻城狮
《Android系统多媒体进阶实战》一书作者
展开
-
Pulseaudio之nemo(二十二)
通用策略的策略设置主机,设备特定设置的分支 n950 和 n900。 N950 的 PulseAudio 设置 N900 的 PulseAudio 设置音频模式音频模式实际上是音频路由以及特定于模式的角色卷。音频模式配置始终是适应特定的,所有模式不一定存在于每个适应中。音频模式示例,ihf(内部免提或设备扬声器) lineout(连接到音频外套的普通立体声设备,通常是 3.5 毫米立体声插孔) hp(头戴式耳机,用于通话音频的设备中的小扬声器) bta2dp(蓝牙 A2DP,无线 A翻译 2022-02-14 15:48:18 · 491 阅读 · 0 评论 -
Pulseaudio之模式设置(二十一)
PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。PulseAudio的一个目的通过它是重定向所有声音流,包括那些试图访问硬件的进程(像那些遗留的基于OSS的软件)。PulseAudio通过提供适配器给那些使用不同的声音系统,像aRts和ESounD。在Linux下的典型方案,用户提供配置ALSA来使用PulseAudio提供的虚拟设备。尽管应用使用ALSA会将输出的声原创 2022-02-14 15:11:01 · 1316 阅读 · 0 评论 -
Pulseaudio之libsndfile for android(二十)
PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。PulseAudio的一个目的通过它是重定向所有声音流,包括那些试图访问硬件的进程(像那些遗留的基于OSS的软件)。PulseAudio通过提供适配器给那些使用不同的声音系统,像aRts和ESounD。在Linux下的典型方案,用户提供配置ALSA来使用PulseAudio提供的虚拟设备。尽管应用使用ALSA会将输出的声原创 2021-12-19 20:06:55 · 625 阅读 · 0 评论 -
Pulseaudio之pa_simple_write流(十九)
PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。PulseAudio的一个目的通过它是重定向所有声音流,包括那些试图访问硬件的进程(像那些遗留的基于OSS的软件)。PulseAudio通过提供适配器给那些使用不同的声音系统,像aRts和ESounD。在Linux下的典型方案,用户提供配置ALSA来使用PulseAudio提供的虚拟设备。尽管应用使用ALSA会将输出的声原创 2021-09-28 15:05:34 · 823 阅读 · 0 评论 -
pulseaudio之pa_simple_new()流程(十八)
1.pulseaudio/src/pulse/simple.cpa_simple* pa_simple_new( const char *server, const char *name, pa_stream_direction_t dir, const char *dev, const char *stream_name, const pa_sample_spec *ss, const pa.原创 2021-09-26 21:22:49 · 858 阅读 · 0 评论 -
Pusleaudio调用alsalib read()流程(十七)
1.pulseaudio/src/modules/alsa/module-alsa-source.cint pa__init(pa_module*m) { pa_alsa_source_new(m, ma, __FILE__, NULL, NULL)}2.pulseaudio/src/modules/alsa/alsa-source.c<1>.pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const cha.原创 2021-09-26 21:19:31 · 564 阅读 · 0 评论 -
Pulseaudio调用alsalib write()流程(十六)
PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。PulseAudio的一个目的通过它是重定向所有声音流,包括那些试图访问硬件的进程(像那些遗留的基于OSS的软件)。PulseAudio通过提供适配器给那些使用不同的声音系统,像aRts和ESounD。在Linux下的典型方案,用户提供配置ALSA来使用PulseAudio提供的虚拟设备。尽管应用使用ALSA会将输出的声原创 2021-09-25 19:20:26 · 504 阅读 · 0 评论 -
Pulseaudio调用alsalib open()流程(十五)
PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。PulseAudio的一个目的通过它是重定向所有声音流,包括那些试图访问硬件的进程(像那些遗留的基于OSS的软件)。PulseAudio通过提供适配器给那些使用不同的声音系统,像aRts和ESounD。在Linux下的典型方案,用户提供配置ALSA来使用PulseAudio提供的虚拟设备。尽管应用使用ALSA会将输出的声原创 2021-09-25 18:47:33 · 699 阅读 · 0 评论 -
Pulseaudio之load-module加载module-always-sink(十四)
PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。PulseAudio的一个目的通过它是重定向所有声音流,包括那些试图访问硬件的进程(像那些遗留的基于OSS的软件)。PulseAudio通过提供适配器给那些使用不同的声音系统,像aRts和ESounD。在Linux下的典型方案,用户提供配置ALSA来使用PulseAudio提供的虚拟设备。尽管应用使用ALSA会将输...原创 2021-09-21 11:51:49 · 911 阅读 · 0 评论 -
Pulseaudio之sox(十三)
PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。PulseAudio的一个目的通过它是重定向所有声音流,包括那些试图访问硬件的进程(像那些遗留的基于OSS的软件)。PulseAudio通过提供适配器给那些使用不同的声音系统,像aRts和ESounD。在Linux下的典型方案,用户提供配置ALSA来使用PulseAudio提供的虚拟设备。尽管应用使用ALSA会将输出的声原创 2021-09-16 16:33:27 · 485 阅读 · 0 评论 -
Pulseaudio之meson编译(十二)
PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。PulseAudio的一个目的通过它是重定向所有声音流,包括那些试图访问硬件的进程(像那些遗留的基于OSS的软件)。PulseAudio通过提供适配器给那些使用不同的声音系统,像aRts和ESounD。在Linux下的典型方案,用户提供配置ALSA来使用PulseAudio提供的虚拟设备。尽管应用使用ALSA会将输出的声原创 2021-07-07 19:43:27 · 944 阅读 · 0 评论 -
Pulseaudio之同步/异步(十一)
PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。PulseAudio的主要特点包括:可对每一个应用程序进行音量控制Per-application volume controls 可扩展的插件与支持可装载模块架构兼容性许多流行的音频应用程序 支持多重音源和多重输出低延时操作和支持延迟测量 一个对处理器资源效率零拷贝内存架构能够发现本地网络上使用PulseAu原创 2021-06-24 16:16:21 · 703 阅读 · 0 评论 -
Ubuntu音频开发audacity(十)
# sudo apt install audacity原创 2020-05-22 16:00:30 · 792 阅读 · 0 评论 -
PulseAudio多线程通信:pthread_cond_broadcast/pthread_cond_signal/pthread_cond_wait(九)
【代码】PulseAudio多线程通信:pthread_cond_broadcast/pthread_cond_signal/pthread_cond_wait(九)原创 2020-05-18 17:16:30 · 1012 阅读 · 0 评论 -
Ubuntu18.04编译pulseaudio14.x(八)
1.Download pulseaudiohttps://linux.softpedia.com/get/Multimedia/Audio/PulseAudio-11830.shtml#download2.Compile# sudo apt install pkg-config libsndfile-dev # xz -d pulseaudio-13.0.tar.xz# tar xvf pulseaudio-13.0.tar# cd pulseaudio-13.0# ./configure.原创 2020-05-18 15:20:02 · 1724 阅读 · 0 评论 -
PulseAudio VS AudioFlinger(七)
我一直想尝试一遍,我们也听到了社区的许多要求。最近,我在Collabora有一些时间可以尝试一下-即让PulseAudio在Android设备上运行,并查看它与Android的AudioFlinger的比较。竞争者让我们首先介绍我们的竞争者。对于那些不知道的人,PulseAudio几乎是Linux音频堆栈的事实上的标准部分。它位于ALSA的顶部,后者提供了一种与音频硬件对话的统一方法,并提供了许多方便的功能,这些功能在台式机和嵌入式设备上非常有用。我不会重述所有这些内容,但是其中包括一个不错的模块化翻译 2020-05-18 14:29:12 · 1077 阅读 · 0 评论 -
MIC检测方式(六)
Android和Kernel下的mic检测是建立在headset检测的基础上的,具体过程如下:1)kernel通过Jack检测脚中断检测到有耳机插入2)读取codec寄存器判断headset是否带mic3)通过InputEvent/UEvent机制通知Android上层详情可以参看我的前一篇基于耳机插拔检测的文章。本文基于UEvent机制来实现,即 switch driver的方式。...原创 2020-05-13 10:58:35 · 4484 阅读 · 0 评论 -
耳机热插拔检测(五)
Android耳机插拔可以有两个机制实现:1.InputEvent2.UEvent其中UEvent是Android系统默认的耳机插拔机制,所以我这里最终代码是基于UEvent实现的,对于InputEvent机制只是大概看了看,并没有具体实现,因此不能保证一定正确,寻求解决方法的同学可以直接移步只对UEvent方式的介绍。1.耳机检测的硬件原理首先我们看看耳机检测的原理。一般的耳机检测包含普通的耳机检测和带mic的耳机检测两种,这两种耳机统称为H...原创 2020-05-13 10:54:04 · 1823 阅读 · 0 评论 -
ALSA中amixer、aplay、arecord(三)
# amixer # amixer controls# amixer controls|grep -i volum//获取耳机的音量# amixer cget numid=16,iface=MIXER,name='Master Playback Volume'//设置耳机的音量# amixer cset numid=16,iface=MIXER,name='Master Play...原创 2020-04-30 19:22:26 · 1517 阅读 · 0 评论 -
Pulseaudio实用命令(二)
//输出日志到文件# pulseaudio -n --file=/etc/pulse/xxxx.pa --log-level=4 --log-target=file:/sdcard/0001.log --log-time &//列出音源输出(到speaker、headset端)# pacmd -h //帮助# pacmd list-sinks//切换耳机通道# pa...原创 2020-04-30 10:00:41 · 4653 阅读 · 0 评论 -
Pulseaudio入门介绍(一)
网络资源 pulseaudio故障排除 https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting 这里是pulseaudio的可能故障及解决办法,例如破音等,可以参考下。 (注 Arch Linux:这个网站可以先mark,有很多别的知识,比如 蓝牙,wifi,网络,蓝牙耳机, pulseaudio 如何配置蓝牙耳机等,...原创 2020-04-05 23:39:26 · 17241 阅读 · 3 评论