QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 673|回复: 4

一个关于打开设备文件的问题,快来帮我看看

[复制链接]
发表于 2004-5-17 22:14:12 | 显示全部楼层 |阅读模式
我用的操作系统是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,只要它在运行,这段程序就要延时运行。我现在是要写一个播放器,延时播放是肯定不行的,我不想让它延时执行,该怎么解决呢?或者说,还有没有其他的文件可以使用,能够起到同样的播放音频的效果?
发表于 2004-5-17 22:42:29 | 显示全部楼层
又发一次
回复

使用道具 举报

 楼主| 发表于 2004-5-17 22:50:15 | 显示全部楼层
没办法呀,我也是被逼的
回复

使用道具 举报

 楼主| 发表于 2004-5-17 22:57:41 | 显示全部楼层
为什么linux下别的多媒体播放器就没有这样的问题,我看过xmms的源码,它好象也是靠打开/dev/dsp来播放的,为什么它就没有延时打开的问题(其实不是延时,只是有其他的进程在占用设备),它怎么就可以克服呢?谁能告诉我这是为什么呀   
回复

使用道具 举报

 楼主| 发表于 2004-5-17 23:01:46 | 显示全部楼层
这里有没有人有在linux下开发播放器的经验,如果有的话,请您给我联系,好吗?我的QQ:249496982。EMAIL:[email protected]。谁帮我解决了这个问题,我下辈子给他做牛做马!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 09:07 , Processed in 0.041387 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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