|
我用的操作系统是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,只要它在运行,这段程序就要延时运行。我现在是要写一个播放器,延时播放是肯定不行的,我不想让它延时执行,该怎么解决呢?或者说,还有没有其他的文件可以使用,能够起到同样的播放音频的效果? |
|