作家
登录

Linux音频设备驱动架构及应用编程

作者: 来源: 2017-11-08 09:18:19 阅读 我要评论

);   
  •     
  •    if (arg != SIZE)   
  •       perror("unable to set sample size");   
  •    
  •    /* 设置采样时的通道数量 */   
  •    arg = CHANNELS;   
  •    status = ioctl(fd, SOUND_PCM_WRITE_CHANNELS, &arg);   
  •    if (status == - 1)   
  •       perror("SOUND_PCM_WRITE_CHANNELS ioctl failed");   
  •    if (arg != CHANNELS)   
  •       perror("unable to set number of channels");   
  •    
  •    /* 设置采样率 */   
  •    arg = RATE;   
  •    status = ioctl(fd, SOUND_PCM_WRITE_RATE, &arg);   
  •    if (status == - 1)   
  •       perror("SOUND_PCM_WRITE_WRITE ioctl failed");   
  •     
  •    /* 轮回,直到按下Control-C */   
  •    while (1)   
  •    {   
  •       printf("Say something:\n");   
  •       status = read(fd, buf, sizeof(buf)); /* 灌音 */   
  •       if (status != sizeof(buf))   
  •          perror("read wrong number of bytes");   
  •     
  •       printf("You said:\n");   
  •       status = write(fd, buf, sizeof(buf)); /* 放音 */   
  •       if (status != sizeof(buf))   
  •          perror("wrote wrong number of bytes");   
  •          
  •       /* 在持续灌音前等待放音停止 */   
  •       status = ioctl(fd, SOUND_PCM_SYNC, 0);   
  •       if (status == - 1)   
  •          perror("SOUND_PCM_SYNC ioctl failed");   
  •    }   
  • }    
  • 2、mixer 编程

    命 令 作 用

    SOUND_MIXER_VOLUME 主音量调节

    SOUND_MIXER_BASS 低音控制

    SOUND_MIXER_TREBLE 高音控制

    SOUND_MIXER_SYNTH FM 合成器

    SOUND_MIXER_PCM 主D/A 转换器

    SOUND_MIXER_SPEAKER PC 喇叭

    SOUND_MIXER_LINE 音频线输入

    SOUND_MIXER_MIC 麦克风输入

    SOUND_MIXER_CD CD 输入

    SOUND_MIXER_IMIX 放音音量

    SOUND_MIXER_ALTPCM 大年夜D/A 转换器


      推荐阅读

      程序员的未来在哪里?扎心了

    视野。但不知为何,法度榜样员在很多人中的印象并不是特别好,蓬头垢面、满脸油光、格子衫、小短裤似乎成了法度榜样员的代名词。 反不雅同一公司里的其它岗亭,产品、运营、>>>详细阅读


    本文标题:Linux音频设备驱动架构及应用编程

    地址:http://www.17bianji.com/lsqh/38578.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)