LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 490|回复: 0

请教高手

[复制链接]
发表于 2004-5-17 09:12:57 | 显示全部楼层 |阅读模式
我用的操作系统是redhat 9.0,我做的是一个音频播放程序。但是我用open函数打开/dev/dsp设备文件时,有时要好长时间才能执行。请看下面这段代码。
#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#define AUDIODEV "/dev/dsp"
int main()
{
int fd;
if((fd=open(AUDIODEV,O_WRONLY))<0)
  return 0;
close(fd);
}

很多次我在运行这段程序时,都需要很长时间才能结束,原因是open函数延时执行,可以用gdb和next查看。我查过资料,好象是说,不能有多个程序同时打开/dev/dsp文件,而且linux下好象是有一个音频守护进程arts,只要它在运行,这段程序就要延时运行。我现在是要写一个播放器,延时播放是肯定不行的,我不想让它延时执行,该怎么解决呢?或者说,还有没有其他的文件可以使用,能够起到同样的播放音频的效果?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表