linux 如何获取系统音量修改系统音量
来源:互联网 发布:网络语言9代表什么意思 编辑:程序博客网 时间:2024/06/06 00:39
这几天一直在查资料如何在linux下获取系统音量并修改音量,找了很多资料终于还是在csdn论坛里找到了答案。
#include <stdio.h>#include <alsa/asoundlib.h>int main(void){ int unmute, chn; int al, ar; snd_mixer_t *mixer; snd_mixer_elem_t *master_element; snd_mixer_open(&mixer, 0); snd_mixer_attach(mixer, "default"); snd_mixer_selem_register(mixer, NULL, NULL); snd_mixer_load(mixer); /* 取得第一個 element,也就是 Master */ master_element = snd_mixer_first_elem(mixer); /* 設定音量的範圍 0 ~ 100 */ snd_mixer_selem_set_playback_volume_range(master_element, 0, 100); /* 取得 Master 是否靜音 */ snd_mixer_selem_get_playback_switch(master_element, 0, &unmute); if (unmute) printf("Master is Unmute.\n"); else printf("Master is Mute.\n"); /* 取得左右聲道的音量 */ snd_mixer_selem_get_playback_volume(master_element, SND_MIXER_SCHN_FRONT_LEFT, &al); snd_mixer_selem_get_playback_volume(master_element, SND_MIXER_SCHN_FRONT_RIGHT, &ar); /* 兩聲道相加除以二求平均音量 */ printf("Master volume is %d\n", (al + ar) >> 1); /* 設定 Master 音量 */ snd_mixer_selem_set_playback_volume(master_element, SND_MIXER_SCHN_FRONT_LEFT, 99); snd_mixer_selem_set_playback_volume(master_element, SND_MIXER_SCHN_FRONT_RIGHT, 99); /* 將 Master 切換為靜音 */ for (chn=0;chn<=SND_MIXER_SCHN_LAST;chn++) { snd_mixer_selem_set_playback_switch(master_element, chn, 0); } /* 將 Master 切換為非靜音 */ for (chn=0;chn<=SND_MIXER_SCHN_LAST;chn++) { snd_mixer_selem_set_playback_switch(master_element, chn, 1); } return 0;}
最后在编译的时候要记得添加libasound.so库
- linux 如何获取系统音量修改系统音量
- iOS 修改系统音量
- iOS修改系统音量
- 获取系统音量
- Android 获取系统音量
- 获取android 系统音量
- Python获取系统音量
- 如何修改Android5.1系统音量大小
- 如何获取系统的音量大小
- iOS编程修改系统音量
- iOS编程修改系统音量
- windows下修改系统音量
- iOS编程修改系统音量
- 获取系统当前音量 和 监听系统音量 ios
- swift 获取系统音量||监听系统音量变化
- 如何调节系统声音音量
- AudioManager 修改系统Android系统的音量
- 如何获取和设置android系统铃声和音量大小
- thrift 网络结构说明
- Android JNI 编译正确 但是提示程序有错误无法运行 而且还看不到任何错误提示 的解决方法
- C# MVC 自学笔记—2 MVC Movie简介
- Arduino and the SPI bus
- 控制台 看书
- linux 如何获取系统音量修改系统音量
- request_mem_region 申请物理内存函数
- Libgdx实现异步加载网络图片并保存到SD卡或者data/data目录下边
- thrift特点介绍
- Android中 int 和 String 互相转换的多种方法
- Java中任意多个文件上传——用Struts1.x实现
- jquery中获取键盘按键
- java 装饰器模式
- Google搜索打不开解决办法、Chrome小技巧