当前位置: 技术问答>linux和unix
各位大侠,在linux用c怎么播放一个wav文件。
来源: 互联网 发布时间:2015-06-30
本文导语: 如题,现在有一个已经存在的 wav 文件,希望能用c编写一段播放 该 wav 文件的程序。 请多多指教, 最好有源代码 p983244@hotmail.com | 1. int fd = open("/dev/dsp",O_RDWR); 2. ioctl(fd,XXXXXX)//XXXXXX是哪些,你具...
如题,现在有一个已经存在的 wav 文件,希望能用c编写一段播放 该 wav 文件的程序。
请多多指教,
最好有源代码 p983244@hotmail.com
请多多指教,
最好有源代码 p983244@hotmail.com
|
1. int fd = open("/dev/dsp",O_RDWR);
2. ioctl(fd,XXXXXX)//XXXXXX是哪些,你具体得去看头文件去,在/usr/include/sys目录下有,设置一些bits,channel参数啊什么得
3. 读取wav文件里面除了wave头得数据部分,write到fd即可
ps:.wave文件格式可以参考这个
http://blog.csdn.net/icedust/archive/2004/06/23/23509.aspx
2. ioctl(fd,XXXXXX)//XXXXXX是哪些,你具体得去看头文件去,在/usr/include/sys目录下有,设置一些bits,channel参数啊什么得
3. 读取wav文件里面除了wave头得数据部分,write到fd即可
ps:.wave文件格式可以参考这个
http://blog.csdn.net/icedust/archive/2004/06/23/23509.aspx
|
使用open, ioctl, write三个函数就够了,具体你可以在网上搜索dev/dsp,有好多呢。
|
很简单的,用了别人写的一个CWave类,里面有Play,Stop,OpenDevice,CloceDevice四个成员函数,实现简单。
这段代码网上有很多的,是篇叫什么大型WAV播放的文章,一搜就能搜到。
这段代码网上有很多的,是篇叫什么大型WAV播放的文章,一搜就能搜到。