alsa

ALSA中amixer、aplay、arecord用法

£可爱£侵袭症+ 提交于 2020-05-01 12:34:29
# 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 Playback Volume' 48 //静音 # amixer cset numid=17,iface=MIXER,name='Master Playback Switch' Off 来源: oschina 链接: https://my.oschina.net/u/4335103/blog/4260718

pulseaudio之pacmd命令

天大地大妈咪最大 提交于 2020-04-30 16:59:06
如何使用pacmd来选择输出设备 (由HDMI输出或LineOut输出) 目录 如何设置输出设备 Pulseaudio command ALSA 參考 如何设置输出设备 來源: PulseAudio/Examples Set the default output source 先使用pacmd list-sinks-inputs,找出有那些sink index 再使用pacmd set-default-sink 0 或 pacmd set-default-sink 名字(name) 1 2 # pacmd set-default-sink 0 # pacmd set-default-sink alsa_output.pci-0000_00_1f.3.iec958-stereo # pacmd list-sinks-inputs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 sink input(s) available. index: 0 driver: <protocol-native.c> flags: state: DRAINED sink: 0 <alsa_output.pci-0000_00_1f.3.iec958-stereo> volume:

Android P Audio系统笔记:AudioPolicy&AudioFlinger初始化

孤街浪徒 提交于 2020-04-26 23:35:49
AudioPolicy&AudioFlinger初始化 总体框架 初始化步骤简介 初始化步骤详细流程分析 1、loadConfig() 2、initialize() 2.1、初始音频路由引擎 2.2、加载so 并且打开设备节点 2.3、打开输出流 总体框架 AudioFlinger和AudioPolicy两者是Android Audio框架层最主要的两个服务,他们两个是Android框架层的本地服务,在init.rc中启动; AudioPolicyManager负责音频策略定制者,说白了就相当于Audio系统的司令。 AudioFlinger负责与底层audio alsa进行交互的实现者,那么它就是Audio系统的军官,干苦力的; 总体框架: 两个服务都属于audioserver进程,严格意义上来说audioserver通过init进程fork出来的,所以它是Linux系统中的一个进程。 AudioFlinger:media.audio_flinger AudioPolicyService:media.audio_policy 初始化步骤简介 1、通过init进程fork出来,从而开始各自服务的初始化 2、首先初始化audioflinger服务 3、其次初始化audiopolicyservice服务 4

【Linux】一步一步学Linux——虚拟机简介和系统要求(04)

我的梦境 提交于 2020-04-25 06:23:23
00. 目录 @[toc] 01. VMware Workstation Pro15介绍 VMware Workstation Pro™ 使专业技术人员能够在同一台 PC 上同时运行多个基于 x86 的 Windows、Linux 和其他操作系统,从而开发、测试、演示和部署软件。 无论虚拟机是位于个人计算机还是专用企业云中,您都可以在虚拟机中复制服务器、桌面和平板电脑环境,并为每个虚拟机分配多个处理器内核、千兆字节的主内存和显存。 02. Workstation Pro 的主机系统要求 用于安装 Workstation Pro 的物理机称为主机系统,其安装的操作系统称为主机操作系统。要运行 Workstation Pro,主机系统和主机操作系统必须满足特定的硬件和软件要求。 2.1 主机系统的处理器要求 支持以下主机系统。 使用 2011 年或以后发布的处理器的系统,使用以下处理器的系统除外。 基于 2011 年 Bonnell 微架构的 Intel Atom 处理器。例如,Atom Z670/Z650 和 Atom N570。 基于 2012 年 Saltwell 微架构的 Intel Atom 处理器。例如,Atom S1200、Atom D2700/D2500 和 Atom N2800/N2600。 基于 Llano 和 Bobcat 微架构的 AMD 处理器。

整合Xilinx PetaLinux工程编译和Open Source U- Boot/Linux编译

痴心易碎 提交于 2020-04-24 18:08:18
整合PetaLinux工程编译和Open Source U- Boot/Linux编译 作者: 付汉杰 1. 测试环境 2. PetaLinux介绍 3. PetaLinux的安装 4. 提高PetaLinux/Yocto的编译速度 4.1. 下载SState cache 4.2. 设置SState cache 4.3. 利用离线下载文件 4.4. 重用下载文件 4.5. 离线编译 5. Open Source Linux和UBoot 5.1. 保留Linux和UBoot源代码 5.2. 取得Linux源代码 5.3. 取得UBoot源代码 5.4. Open Source 编译Linux 5.5. Open Source编译Linux时间 5.6. Open Source编译UBoot 5.7. Open Source编译UBoot时间 6. 总结 1. 测试环境 Ubuntu 16.04 PetaLinux 2019.1 PetaLinux 2019.1 ZCU106 BSP ZCU106 2. PetaLinux介绍 PetaLinux是Xilinx基于Yocto推出的Linux开发工具。Yocto是业界主流的Linux发行版的构建工具,它不仅可以从源代码编译Linux 内核,还可以编译Linux发行版必须的数以千计的的应用程序,功能非常强大。Yocto的出现

语音通信解决方案总结

末鹿安然 提交于 2020-04-23 06:03:14
语音通信方案 系统级方案和自建协议 windows平台、linux平台、嵌入式linux平台、mcu平台 1,在嵌入式Linux上开发的有线通信语音解决方案 这方案是在嵌入式Linux上开发的,音频方案基于ALSA,语音通信相关的都是在user space 做,算是一个上层的解决方案。由于是有线通信,网络环境相对无线通信而言不是特别恶劣,用的丢包补偿措施也不是很多,主要有PLC、RFC2198等。 2,在Android手机上开发的传统无线通信语音解决方案 这方案是在Android手机上开发的,是手机上的传统语音通信方案(相对于APP语音通信而言)。Android是基于Linux的,所以也会用到ALSA,但是主要是做控制用,如对codec芯片的配置等。跟音频数据相关的驱动、编解码、前后处理等在Audio DSP上开发,网络侧相关的在CP(通信处理器)上开发,算是一个底层解决方案。该方案的软件框图如下: 系统级 声卡 (Sound Card)也叫 音频 卡(港台称之为声效卡),是计算机多媒体系统中最基本的组成部分,是实现 声波 / 数字信号 相互转换的一种 硬件 。声卡的基本功能是把来自 话筒 、磁带、光盘的原始声音 信号 加以转换,输出到 耳机 、 扬声器 、 扩音机 、 录音机 等声响 设备 ,或通过 音乐 设备数字接口( MIDI )发出合成乐器的声音

基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(二)

雨燕双飞 提交于 2020-04-21 06:00:43
作品已经完成,先上源码: https://files.cnblogs.com/files/qzrzq1/WIFISpeaker.zip 全文包含三篇,这是第二篇,主要讲述发送端程序的原理和过程。 第一篇: 基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(一) 第三篇: 基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(三) 以下是正文:   发送端程序基于MFC的对话框类实现,开发环境Visual Studio 2012,主要实现了5个功能,下面逐个讲述:   1、软件启动检查互斥体,防止程序重复启动。   2、读取上一次启动的配置文件,初始化socket、获取本机ip地址。   3、读取用户输入的接收端IP地址,利用Core Audio APIs初始化loopback(环回录音)模式,启动录音子线程。   4、在子线程不断读取音频缓冲区数据,每0.1s将录制的数据打包以PCM格式,通过socket发送到接收端。   5、最小化到系统托盘 一、检查互斥体   创建互斥体是防止应用程序重复启动最常用的方式,本作品使用Core Audio APIs读取声卡音频数据,只能实例化一次。这是因为,这个作品完成后,作者在使用的过程中,发送端软件在运行一段时间后,总是不定期莫名其妙地出现“appcrash”错误,然后程序莫名崩溃

Alsa cannot set sample format[FFMPEG]

百般思念 提交于 2020-04-06 03:34:58
问题 I am trying to capture a pcm stream from a Roland USB device with ffmpeg and wrap it with wav. The command line I am using is the following: ffmpeg -f alsa -acodec pcm_s32le -ac 2 -ar 48000 -i hw:2,0 out.wav Which comply with the settings of the hardware. I can also capture the stream with Audacity. The problem is that FFMPEG throws "cannot set sample format error" . Any idea of what may be happening and how I can fix this? Thanks in advance. FFMPEG OUTPUT user@user:~$ ffmpeg -f alsa -acodec

Alsa cannot set sample format[FFMPEG]

女生的网名这么多〃 提交于 2020-04-06 03:34:05
问题 I am trying to capture a pcm stream from a Roland USB device with ffmpeg and wrap it with wav. The command line I am using is the following: ffmpeg -f alsa -acodec pcm_s32le -ac 2 -ar 48000 -i hw:2,0 out.wav Which comply with the settings of the hardware. I can also capture the stream with Audacity. The problem is that FFMPEG throws "cannot set sample format error" . Any idea of what may be happening and how I can fix this? Thanks in advance. FFMPEG OUTPUT user@user:~$ ffmpeg -f alsa -acodec

Alsa: snd_pci_readi() and real-time threads

女生的网名这么多〃 提交于 2020-03-26 05:40:12
问题 I've got a dedicated thread that caputures audio from Alsa through snd_pcm_readi(). Periodically I get a short read, meaning snd_pcm_readi() returns a positive integer lower than my buffer size, and there's obviously a 'pop' sound in my audio stream. Then I set the thread priority to real-time and this gives a tangible benefit, far less short reads, but this doesn't solve. Now the question: before going down the bumpy road of a real-time patched Linux kernel, there's something else I can do