当前位置:  技术问答>linux和unix

Ubuntu下如何获得系统音量的控制权

    来源: 互联网  发布时间:2016-06-01

    本文导语:  本人是linux的小菜,想自己编写一个gtk的关于音量控制的小程序,请达人指教下如何获取系统的音量并改变系统的音量 | #include  #include  int main(void) {     int unmute, chn;     int al, ar;     snd_mixer...

本人是linux的小菜,想自己编写一个gtk的关于音量控制的小程序,请达人指教下如何获取系统的音量并改变系统的音量

|

#include 
#include 

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 %dn", (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

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问在Linux系统上面(ubuntu8.04)如何获得当前显示器的分辨率
  • 怎样获得fadora,debian or ubuntu,一定要在网上下还是可以在商店买?
  • 我的glibc-doc中查不到sem_wait这样的函数 是我装的glibc-doc太旧么 不是阿 我是ubuntu上apt-get获得的应该最新了阿
  • Ubuntu 12.04长期支持版和最新版Ubuntu 13.10下载
  • vmware里装了Ubuntu后Ubuntu.vmdk文件大小和Ubuntu系统大小区别?
  • Ubuntu查看系统信息命令介绍
  • win7与Ubuntu双系统卸载ubuntu
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 装ubuntu的时候选安装ubuntu与win7共存与选其他选项
  • Ubuntu查看硬盘,分区相关命令介绍
  • winxp+ubuntu32+ubuntu64是否可以这样装系统?
  • Ubuntu系统安装及升级命令
  • ubuntu能安装rpm包吗&&ubuntu的intel 945显卡驱动
  • Ubuntu Precise 12.04 (LTS) (64-bit)下面安装docker
  • 在win7下装ubuntu成功后进不去ubuntu!!??
  • Ubuntu Raring 13.04 和 Saucy 13.10 (64 bit)下面安装docker
  • 原来已安装好ubuntu,因系统崩溃,重装WINXP系统,如何再次登录ubuntu系统?
  • Ubuntu Trusty 14.04 (LTS) 下面安装docker及依赖关系检查
  • ubuntu10.10 和 ubuntu 10.04.1
  • Ubuntu Vivid 15.04 下面安装docker的详细步骤
  • Ubuntu 中的 ubuntu one 算不算的上云?
  • ubuntu系统中软件安装、卸载以及查询是否已经安装某个软件包的方法
  • 安装ubuntu11.04时,过了ubuntu的logo花屏,怎么解决
  • Ubuntu查看内存,进程相关命令介绍
  • 我想根据ubuntu官网上介绍的方法安装ubuntu,是否应该先分一块硬盘空间?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3