Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3820924
  • 博文数量: 197
  • 博客积分: 10086
  • 博客等级: 上将
  • 技术积分: 5145
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-13 10:50
文章分类

全部博文(197)

文章存档

2011年(2)

2009年(30)

2008年(165)

我的朋友

分类: LINUX

2009-02-24 17:02:19

Linux的混音设备/dev/mixer的使用

Linux的音频输入输出是通过/dev/dsp设备的,但对于这些声音信号的处理则是通过/dev/mixer设备来完成的

Mixer文件操作所用的一些变量

可通过看linux/soundcard.h文件来获取这些变量,这里列一些基本的常用的变量

SOUND_MIXER_WRITE_VOLUME = 0xc0044d00

SOUND_MIXER_WRITE_BASS = 0xc0044d01

SOUND_MIXER_WRITE_PCM = 0xc0044d04

SOUND_MIXER_WRITE_LINE = 0xc0044d06

SOUND_MIXER_WRITE_MIC = 0xc0044d07

SOUND_MIXER_WRITE_RECSRC = 0xc0044dff

SOUND_MIXER_LINE = 7

SOUND_MASK_LINE = 64

 这些变量名都是在soundcard.h中可以查到的,通过名称即可看出其用途,后面的赋值在该头文件中则并不是这样定义的,而是通过调用一些函数返回出来的,应该是声卡上对应的地址。在应用程序中可通过ioctl(fd,cmd,arg)来对这些变量进行赋值。其中fd即为一个打开/dev/mixer的文件指针,cmd为上面所列的这些变量,arg既是对这些变量进行操作所需赋给的结构体或变量。

阅读(1361) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~