首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

dotnet C# 在 Linux 系统设置或获取音量以及变更音量收到通知

本文记录使用 PulseAudio 在 Linux 系统上进行设置和获取当前音量,以及是否静音。...当系统音量发生变更时,收到事件通知 本文使用的工具类由 lsj 工具人提供,我只是代为记录 演示的使用方法的代码如下 if (!...} } 本文代码放在 github 和 gitee 上,可以使用如下命令行拉取代码 先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码...https://github.com/lindexi/lindexi_gd.git git pull origin 7dc9f2c0ab4fd8557202b28e752aaff5a730ff9d 获取代码之后...,进入 LiwhallyawhuleLaqarhifehawhedem 文件夹,即可获取到源代码

16810

音频基础知识 - PCM 浅析

所以用分贝描述声音强度更符合人类对声音强度的感知。 如下图所示,横轴表示PCM采样,纵轴表示人耳感知到的音量,图中截取了两块横轴变化相同的区域,但是人耳感觉到的音量变化是不一样的。...在较安静的左侧,感觉到的音量变化较大;在叫喧嚣的右侧,人耳感觉到的音量变化较小。 ? 具体来说,分贝计算公式如下所示: ? 其中, ? 表示两个采样的比值。在计算某个采样分贝时,直接把 ?...当成最小采样1处理就可以了。所以如果采样位数是16 bit,那么无符号情况下,最大分贝是: ? 有符号情况下,最大分贝是: ?...我们可以基于它直接提取出整首歌的PCM数据,然后计算出分贝。大体流程如下所示: 首先通过AVAudioFile加载本地音频文件,获取采样率、声道数等音频信息。...最后针对重采样后的PCM数据计算出分贝,并且释放各种资源。

3.9K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    播放视频时如何调整音频的音量

    每个手机都有调整音量大小的物理按键,你操作一下就行了,例如对Android平台,系统都提供了操作声音音量的设置接口,MediaPlayer提供了setVoume函数,AudioTrack也提供了setVolume...音调主要由声音的频率决定,同时也与声音强度有关 音量:人主观上感觉声音的大小(俗称音量),由“振幅”(amplitude)和人离声源的距离决定,振幅越大响度越大,人和声源的距离越小,响度越大。...同等条件下,振幅是决定音量高低的因素。 ? 同等条件下,波纹是决定音色因素。 ? 通过上面简单的分析,我们已经知道声音的音量实际上就是由声波的振幅决定的,我们需要调整声波的振幅。...平均分贝:计算音频的每一帧数据的分贝,输出平均分贝 标准分贝:当前情况下多少分贝是最合适的分贝 平均分贝我播放器肯定是无法获知的,视频没有播放完成,我们无法获知,但是服务器知道,可以传到客户端,那么分贝这振幅系数之间如何换算...volume(dB) = 20 * log(Cur / Max) (所有Android下面计算的分贝大小总是负的) volume 表示计算出来的分贝 Max表示最大振幅 Cur表示当前振幅 输入的参数有两个

    2.1K20

    【MATLAB】基本绘图 ( 句柄 | 对象句柄获取 | 创建对象时获取句柄 | 函数获取句柄 | 获取 设置 对象属性 | 获取对象属性 )

    文章目录 一、对象句柄获取 1、句柄 2、创建对象时获取句柄 3、函数获取句柄 4、获取 / 设置 对象属性 二、获取对象属性 1、获取 线 对象属性 2、获取 坐标轴 对象属性 一、对象句柄获取...---- 1、句柄 对象的句柄 , 类似于编程时的引用 , 将对象的句柄赋值给变量后 , 该变量就可以代表指定的绘图对象 ; 对象的 Handle 标识 ; 2、创建对象时获取句柄 创建对象时获取图形对象句柄...: 创建对象时 , 使用变量接收该对象 , 下面的代码就是使用 line_sin 变量获取 线 对象的句柄 ; line_sin = plot(x, y) 3、函数获取句柄 使用函数获取对象句柄...: 下面的函数是获取相关对象句柄的函数 ; gca : 获取当前坐标轴的句柄 ; gcf : 获取当前图形的句柄 ; allchild : 查找特定对象的所有子对象的句柄 ; ancestor...: 查找特定对象的父容器的句柄 ; delete : 删除对象 ; findall : 找到所有的图形对象 ; 4、获取 / 设置 对象属性 获取某个对象的属性 : 使用 get 函数 , 可以获取某个对象的属性

    6.5K30

    有屏智能设备的多维对话:延迟和指令呈现 | 百度人工智能交互设计院最新研究

    本部分实验主要研究用户插入任务后,前景内容和背景内容间的音量干扰体验,如当前景内容正在语音播报信息时,背景视频或音乐的合理音量范围,以避免过高的背景音对用户获取信息产生干扰。...我们设置了两种初始音量(注:初始音量是用户看视频/听音乐的音量):60和65分贝,用户查询人物或百科信息后,通过设置不同的背景音量(注:此时前景内容为语音播报信息,背景内容为视频或音乐),获取用户对背景音量的满意度评价...针对有屏音箱和智能电视,当初始音量约为60分贝时,背景音量舒适范围略有差异,具体结果如下: 1)针对有屏音箱,背景视频音量下降至36-53分贝范围,背景音乐音量下降至39-56分贝范围时,用户主观感觉较舒适...; 2)针对智能电视,背景视频音量下降至39-53分贝范围,背景音乐音量下降至36-53分贝范围时,用户主观感觉较舒适。...实验中我们同时研究了初始音量为65分贝时背景音量的舒适范围,因实验结果与上述趋势基本一致,篇幅所限,暂不一一展开。

    76200

    数组(获取

    数组的常见操作(获取) 1.获取需要进行比较,每一次比较都会有一个较大的,因为该不确定,通过一个变量进行存储 2.让数组中的每一个元素都和这个变量中的进行比较,如果大于了变量中的,就用该变量记录较大...3.当所有的元素都比较完成,那么该变量中存储的就是数组中的最大 初始化变量为第一个元素 初始化变量为索引,这个可以获取最大或者最大的脚标 java版: public class ArrayDemo...>max){ max=arr[x]; } } return max; } /** * 获取最大...,这个可以获取最大或者最大的脚标 * @param arr * @return */ public static int getMax2(int[] arr){...,这个可以获取最大或者最大的脚标 * @param arr * @return */ public static function getMax2($arr){

    1.5K20

    【音视频原理】音频编解码原理 ② ( 采样 - 本质分析 | 采样 - 震动振幅 | 采样的录制与播放 | 采样在播放设备中才有意义 | 音频采样率 | 音频采样精度 | 音频通道数 )

    256 种响度 , 取值范围是 -128 ~ 127 ; 2、采样的录制与播放 使用 录音设备 , 录制音频 , 某个时间戳 时刻 获取的 采样 100 , 此时 100 这个 , 是一个数值...这个数值 100 输出 到 音响中 , 此时 音响的输出设置 的 采样位数 也是 8 位 , 将 100 放到音响中 , 就可以 还原 录制视频时的 震动振幅 , 发出对应 时间戳时刻 的声音 ; 3、采样与声音的分贝无关...100 这个 与 真实的音量响度 , 也就是分贝 , 没有关系 , 播放的声音大小只与录音设备参数有关 ; 如 : 录制 50 分贝的声音 , 不同的录音设置录制的 采样 是不同的 , 相同的录音设备...使用不同的参数 录制的采样也是不同的 , 50 分贝的声音可以是 100 采样 , 也可以是 50 采样 ; 100 采样 在 播放设备中 播放的 声音分贝数 大小 也是无关 的 , 在 手机中...播放 100 采样 是 40 分贝 , 在 大功率 扬声器 中播放 100 采样 可能就是 80 分贝 , 播放 100 采样分贝数 与 播放设备及参数有关 ; 4、采样在播放设备中才有意义

    41710
    领券