Ubuntu设设置默认外放和麦克风设备

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、pulseaudio 是什么?
  • 二、配置外放
    • 1.查看所有的外放设备
    • 2.设定默认的外放设备
    • 3.设定外放设备的声音强度
    • 4.设定外放设备静音
  • 三、配置麦克风
    • 1.查看所有的麦克风设备
    • 2.设置默认麦克风设备
    • 3.设置麦克风设备声音强度
    • 4.设置麦克风设备静音
  • 总结


前言

最近在做一个项目,需要使用外放播放声音和麦克风拾取录音,然后还要用到摄像头。采购了一个麦克风和一个USB摄像头。结果部署过程中发现摄像头自带的麦克风被识别为默认麦克风,而且每次开机几乎都是这样,然后专业麦克风必须在声音页面选择才能指定为默认麦克风。

最终实现的需求是交付给客户后可以直接使用,肯定不可能让客户每次开机手动选择一下。

没错,我们的项目就是每天定时拉闸关机,早上拉闸自启动!


一、pulseaudio 是什么?

PulseAudio is a networked low-latency sound server for Linux, POSIX and Windows systems.

Ubuntu桌面版系统使用的就是pulseaudio ,我们的命令也和这个有关系。

二、配置外放

1.查看所有的外放设备

pacmd list-sinks1 sink(s) available.* index: 1name: <alsa_output.pci-0000_00_1b.0.analog-stereo>driver: <module-alsa-card.c>flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCYstate: SUSPENDEDsuspend cause: IDLEpriority: 9039volume: front-left: 32768 /  50% / -18.06 dB,   front-right: 32768 /  50% / -18.06 dBbalance 0.00base volume: 65536 / 100% / 0.00 dBvolume steps: 65537muted: nocurrent latency: 0.00 msmax request: 0 KiBmax rewind: 0 KiBmonitor source: 1sample spec: s16le 2ch 44100Hzchannel map: front-left,front-rightStereoused by: 0linked by: 0configured latency: 0.00 ms; range is 0.50 .. 2000.00 mscard: 1 <alsa_card.pci-0000_00_1b.0>module: 23properties:alsa.resolution_bits = "16"device.api = "alsa"device.class = "sound"alsa.class = "generic"alsa.subclass = "generic-mix"alsa.name = "CX20751/2 Analog"alsa.id = "CX20751/2 Analog"alsa.subdevice = "0"alsa.subdevice_name = "subdevice #0"alsa.device = "0"alsa.card = "1"alsa.card_name = "HDA Intel PCH"alsa.long_card_name = "HDA Intel PCH at 0xc4314000 irq 50"alsa.driver_name = "snd_hda_intel"device.bus_path = "pci-0000:00:1b.0"sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"device.bus = "pci"device.vendor.id = "8086"device.vendor.name = "Intel Corporation"device.product.id = "9ca0"device.product.name = "Wildcat Point-LP High Definition Audio Controller"device.form_factor = "internal"device.string = "front:1"device.buffering.buffer_size = "352800"device.buffering.fragment_size = "176400"device.access_mode = "mmap+timer"device.profile.name = "analog-stereo"device.profile.description = "Analog Stereo"device.description = "Built-in Audio Analog Stereo"module-udev-detect.discovered = "1"device.icon_name = "audio-card-pci"ports:analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)properties:device.icon_name = "audio-speakers"analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: no)properties:device.icon_name = "audio-headphones"active port: <analog-output-speaker>

我使用的是笔记本内置外放,也没插额外的外放,所以列表里只有一个。

注意index前面带星号的设备,那就是你当前的选定设备。

2.设定默认的外放设备

设定方法有两个,一是根据index来设定,二是根据name来设定。这里推荐使用name,因为index会变,不是说随时会变,而是每次开机都可能不一样,所以这个方法确认不是好方法。但,也不是说完全不行,只是需要经过稍微复杂点的处理,比如根据awk等工具预处理,找到你想要的那个index再使用,麻烦肯定是麻烦点。

而使用name设定就没有这个问题,前提是你没有改动过驱动等配置。

#必须使用当前登录桌面的用户
pactl set-default-sink <name>
#示例
pactl set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo

成功shell返回0,失败查看具体提示

3.设定外放设备的声音强度

先看下接受的数据格式:
VOLUME can be specified as an integer (e.g. 2000, 16384), a linear factor
(e.g. 0.4, 1.100), a percentage (e.g. 10%, 100%) or a decibel value (e.g. 0dB,
20dB). If the volume specification start with a + or - the volume adjustment will
be relative to the current sink volume. A single volume value affects all channels;
if multiple volume values are given their number has to match the sink’s number of
channels.

简单翻一下:支持整数,小数,百分比,分贝。这里我选择百分比,没别的原因,因为简单。其他的方式不要滥用,最好带上耳塞,免得震聋耳朵!

#必须使用当前登录桌面的用户
pactl set-sink-volume <外放name> <百分比>
#示例
pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo 50%

执行成功shell返回0,失败查看具体提示。

4.设定外放设备静音

理论上声音设置为0%也可以的,但是那不是真正的静音,至少0%音量或许只是声音特别小。

#必须使用当前登录桌面的用户
pactl set-sink-mute <name> 1
#示例
pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 1

在这里插入图片描述
仔细看喇叭图标上多了个禁止斜杠。

下面是声音0%,不静音
在这里插入图片描述
这下看出差别了吧!

三、配置麦克风

1.查看所有的麦克风设备

#必须使用当前登录桌面的用户
pacmd list-sources2 source(s) available.index: 1name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>driver: <module-alsa-card.c>flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCYstate: IDLEsuspend cause: (none)priority: 1030volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dBbalance 0.00base volume: 65536 / 100% / 0.00 dBvolume steps: 65537muted: nocurrent latency: 0.00 msmax rewind: 344 KiBsample spec: s16le 2ch 44100Hzchannel map: front-left,front-rightStereoused by: 0linked by: 0configured latency: 2000.00 ms; range is 0.50 .. 2000.00 msmonitor_of: 1card: 1 <alsa_card.pci-0000_00_1b.0>module: 23properties:device.description = "Monitor of Built-in Audio Analog Stereo"device.class = "monitor"alsa.card = "1"alsa.card_name = "HDA Intel PCH"alsa.long_card_name = "HDA Intel PCH at 0xc4314000 irq 50"alsa.driver_name = "snd_hda_intel"device.bus_path = "pci-0000:00:1b.0"sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"device.bus = "pci"device.vendor.id = "8086"device.vendor.name = "Intel Corporation"device.product.id = "9ca0"device.product.name = "Wildcat Point-LP High Definition Audio Controller"device.form_factor = "internal"device.string = "1"module-udev-detect.discovered = "1"device.icon_name = "audio-card-pci"* index: 2name: <alsa_input.pci-0000_00_1b.0.analog-stereo>driver: <module-alsa-card.c>flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCYstate: SUSPENDEDsuspend cause: IDLEpriority: 9039volume: front-left: 32768 /  50% / -18.06 dB,   front-right: 32768 /  50% / -18.06 dBbalance 0.00base volume: 13076 /  20% / -42.00 dBvolume steps: 65537muted: nocurrent latency: 0.00 msmax rewind: 0 KiBsample spec: s16le 2ch 44100Hzchannel map: front-left,front-rightStereoused by: 0linked by: 0configured latency: 0.00 ms; range is 0.50 .. 2000.00 mscard: 1 <alsa_card.pci-0000_00_1b.0>module: 23properties:alsa.resolution_bits = "16"device.api = "alsa"device.class = "sound"alsa.class = "generic"alsa.subclass = "generic-mix"alsa.name = "CX20751/2 Analog"alsa.id = "CX20751/2 Analog"alsa.subdevice = "0"alsa.subdevice_name = "subdevice #0"alsa.device = "0"alsa.card = "1"alsa.card_name = "HDA Intel PCH"alsa.long_card_name = "HDA Intel PCH at 0xc4314000 irq 50"alsa.driver_name = "snd_hda_intel"device.bus_path = "pci-0000:00:1b.0"sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"device.bus = "pci"device.vendor.id = "8086"device.vendor.name = "Intel Corporation"device.product.id = "9ca0"device.product.name = "Wildcat Point-LP High Definition Audio Controller"device.form_factor = "internal"device.string = "front:1"device.buffering.buffer_size = "352800"device.buffering.fragment_size = "176400"device.access_mode = "mmap+timer"device.profile.name = "analog-stereo"device.profile.description = "Analog Stereo"device.description = "Built-in Audio Analog Stereo"module-udev-detect.discovered = "1"device.icon_name = "audio-card-pci"ports:analog-input-internal-mic: Internal Microphone (priority 8900, latency offset 0 usec, available: unknown)properties:device.icon_name = "audio-input-microphone"analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: no)properties:device.icon_name = "audio-input-microphone"active port: <analog-input-internal-mic>

2.设置默认麦克风设备

和外放一样不建议使用index,原因就是重启顺序可能会变,还是使用name。

假如你不止插入一个麦克风设备(比如3.5耳机孔+USB麦克风并存)。你只需要记住你需要设置的麦克风设备的名字即可。

我这里是index前面带星号的设备,就是我目前的麦克风设备。

#必须使用当前登录桌面的用户
pactl set-default-sources <name>
#示例
pactl set-default-sources alsa_input.pci-0000_00_1b.0.analog-stereo

执行成功shell返回0,失败查看具体提示。

3.设置麦克风设备声音强度

基本和外放一样,这里直接贴命令了,不赘述了。

多说一句,尽量不要调太高,会出现破音,基本能够满足需要就行了。

#必须使用当前登录桌面的用户
pactl set-source-volume <name> <百分比>
#示例
pactl set-source-volume alsa_input.pci-0000_00_1b.0.analog-stereo 50%

执行成功shell返回0,失败查看具体提示。

4.设置麦克风设备静音

基本和外放一样,这里直接贴命令了,不赘述了。

#必须使用当前登录桌面的用户
pactl set-source-mute <name> 1
#示例
pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo 1

执行成功shell返回0,失败查看具体提示。


总结

1、注意不能用root权限,需要你登录desktop的那个用户执行命令
2、linux上搞外设比windows还是差点,你只能指望有声音,不能指望它能带给你什么惊喜,可能是糟心呢。小声告诉你bug不少!
3、有什么疑问的可以留言

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/156143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#winform门诊医生系统+sqlserver

C#winform门诊医生系统sqlserver说明文档 运行前附加数据库.mdf&#xff08;或sql生成数据库&#xff09; 主要技术&#xff1a;基于C#winform架构和sql server数据库 功能模块&#xff1a; 个人中心&#xff1a;修改个人信息、打开照片并进行修改 预约挂号&#xff1a;二级…

轻松驾驭Linux命令:账户查看、目录文件操作详解

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; Linux系统操作 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;引言&#x1f324;️查看账户☁️whoami☁️who &#x1f324;️ls和目录文件的创建删除☁…

【Spring Boot】如何运用Spring Cache并设置缓存失效时间

简单描述 Spring Cache是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要简单地加一个注解&#xff0c;就能实现缓存功能。Spring Cache提供了一层抽象&#xff0c;底层可以切换不同的cache实现。具体就是通过CacheManager接口来统一不同的缓存技术。CacheMan…

JavaScript的学习之BOM和DOM,就这一篇就OK了!(超详细)

目录 Day28 JavaScript(2) 1、BOM对象 1.1 window对象 1.2 Location ( 地址栏)对象 1.3 本地存储对象 2、DOM对象(JS核心) 2.1 查找标签 2.2 绑定事件 2.3 操作标签 2.4 常用事件 Day28 JavaScript(2) 1、BOM对象 BOM:Broswer object model,即浏览器提供我们开发者…

算法学习 day27

第二十七天 美化数组的最少删除数 2216. 美化数组的最少删除数 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int minDeletion(vector<int>& nums) {int len nums.size();if(len 0) return 0;int res 0,cur 0;for(int i 1;i < len;i)…

企业数字化转型所需的数据在哪里找?企业数据运营有什么用?

现阶段&#xff0c;越来越多企业考虑数字化转型。特别是中小型企业&#xff0c;他们察觉到&#xff1a;数字化转型的关键在于数据的运营。只有通过数据的有效管理和不断挖掘&#xff0c;企业才可以更好地了解市场需求&#xff0c;优化业务流程&#xff0c;提高决策效率&#xf…

[AutoSar]在Davinci developer中mapping Com interface port

目录 关键词平台说明一、实现步骤1.1 新建一个需要接入Com interface 的SWC1.2 Data mapping1.3 选择SWC和信号为分开的还是group1.4 添加前缀后缀1.5 在SWC中使用 关键词 嵌入式、C语言、autosar 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商TI编程语言C&…

ELK企业级日志分析平台

目录 一、elasticsearch 1、集群部署 2、cerebro部署 3、elasticsearch-head插件部署 4、elasticsearch集群角色分类 二、logstash 1、部署 2、elasticsearch输出插件 3、file输入插件 4、file输出插件 5、syslog 插件 6、多行过滤插件 7、grok过滤 三、kibana数…

微信关键词自动回复有什么用?

微信关键词自动回复有什么用&#xff1f; 关键词回复可以帮助解答客户的高频次问题。 假如&#xff0c;微信可以设置自动回复。。。 你还在担心一个个通过好友手动发欢迎语吗&#xff1f; 遇到常规问题&#xff0c;不用再复制粘贴那个已经回答了一百遍的答案吗&#xff1f;…

新加坡服务器托管-金融企业的选择

新加坡作为一个亚洲金融中心&#xff0c;其优越的地理位置和先进的信息通信技术基础设施&#xff0c;使得其成为了众多金融机构企业选择服务器机房托管的理想地点。金融行业对于服务器的安全性和可靠性要求很高&#xff0c;而将服务器托管在新加坡有许多好处。 首先&#xff0c…

多目标应用:基于多目标粒子群优化算法MOPSO求解微电网多目标优化调度(MATLAB代码)

一、微网系统运行优化模型 微电网优化模型介绍&#xff1a; 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、多目标粒子群优化算法MOPSO 多目标粒子群优化算法MOPSO简介&#xff1a; 三、多目标粒子群优化算法MOPSO求解微电网多目标优化调度 &#xff08;1&…

BGP笔记实验

IGP(Interior Gateway Protocol)——内部网关协议 OSPF RIP IS-IS IGRP EIGRP EGP(External Gateway Protocol)——外部网关协议 EGP BGP——边界网关协议 AS——自治系统 由单一组织or机构独立维护的网络设备&网络资源的集合 网络范围太大 自治 AS号 为了区分不同…

电脑监控系统是如何支持远程监控的?

电脑监控系统支持远程监控的方式有多种&#xff0c;以下是其中几种常见的方法&#xff1a; 远程桌面协议 这是一种常见的远程监控协议&#xff0c;它允许用户通过互联网远程访问和控制被监控的电脑。RDP是一种加密的协议&#xff0c;可以保证数据传输的安全性和隐私性。使用RD…

4. Pandas行列操作

4.1 新增列 4.1.1 assign Pandas中的assign&#xff08;&#xff09;函数不仅可以实现不改变原数据情况下新增列&#xff0c;而且可以同时新增多列&#xff0c;还可以配合链式操作使用一行代码完成多个新增列创建&#xff0c;使得代码非常整洁。 &#xff08;1&#xff09;函…

初识树(c语言)

树 定义&#xff1a;树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。 有一个特殊的结点&#xff0c;称为根结点&#xff0c;根节点没有前驱结点 除根节点外&#xff0c;其余结点被分成M(M>0)个互不相交…

如何在公网环境下使用笔记本的Potplayer访问本地群晖webdav中的影视资源

文章目录 如何在公网环境下使用笔记本的Potplayer访问本地群晖webdav中的影视资源**那么问题来了&#xff0c;potplayer只能局域网内访问资源&#xff0c;那我不在家中怎么看本地电影&#xff1f;** 本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果…

git撤销某一次commit提交

一&#xff1a;撤销上一次commit提交&#xff0c;但不删除修改的代码 可以使用使用VSCode 二&#xff1a;使用 git reset --hard命令删除提交时&#xff0c;将会删除该提交及其之后的所有更改&#xff08;相当于你想要回滚到的提交的提交ID&#xff09; git reset --hard 版本…

从Hugging Face上手动下载并加载预训练模型

0. 说明&#xff1a; 从 Hugging Face 上下手动载预训练的蛋白质语言模型&#xff08;以ProstT5为例&#xff09;&#xff0c;用模型中的 encoder 部分对蛋白质进行编码&#xff0c;得到 embedding features&#xff0c;用于下游的任务。 【ps. 除了手动下载之外&#xff0c;…

我在CSDN开组会1-蒙特卡洛模拟在矿床学的应用展望

各位老师、同学们&#xff0c;大家好。今天组会的内容是蒙特卡洛模拟在矿床学的应用展望。 为什么要讲蒙特卡洛模拟呢&#xff0c;因为我发现在地质学方面已经有不少应用&#xff0c;但是蒙特卡洛模拟延伸的知识太晦涩了&#xff0c;劝退了很多探究者们。因此&#xff0c;计划…