易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux环境下用c语言写的播放wav文件的小程序

本程序可以读取.wav文件,然后进行播放。
确认方法:cat /etc/sndstat,如果显示无此设备,则没有安装驱动。
#include <unistd.h>#include <fcntl.h>#include <sys/types.h>#include <sys/ioctl.h>#include <stdlib.h>#include <stdio.h>#include <linux/soundcard.h>/* 下面的三个参数是跟具体文件相关的,文件什么样,就要设置成什么样 */
int main(){    int fd;     int wavfd; //wav文件的描述符
    if (fd < 0) {        printf("open of /dev/dsp failed");        exit(1);}    wavfd = open("12193767609.wav",O_RDONLY);    if (wavfd < 0) {        printf("open of wav failed");        exit(1);  } 
/* .......... */    arg = CHANNELS;    status = ioctl(fd, SOUND_PCM_WRITE_CHANNELS, &arg);    if (status == -1)        perror("SOUND_PCM_WRITE_CHANNELS ioctl failed");    if (arg != CHANNELS)        perror("unable to set number of channels"); 
    /* 从wav文件中读buf大小的内容,然后写入/etc/dsp中,直到文件结束 */     int time = 0; //动态显示播放时间用
         /*status = ioctl(fd, SOUND_PCM_SYNC, 0);
        }}本程序中需要一个.wav文件才能播放,你可以到百度mp3上去搜索一个.wav文件,放到程序目录下。然后,把程序中的文件名改成该音频的文件名。


相关文档:

Linux设备模型之input子系统详解

一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......

快速排序(QuickSort)C语言版

快速排序的核心在于分治.
分治算法:
1. 认定只有一个元素或没有元素的数组是有序的.
2. 将数组按照一个分界值分为左右两部分. 左面所有元素值比分界值小, 右面所有元素值比分界值大或等于.
3. 将左右两部分分别再分治, 直到要分支的部分只有一个元素或没有元素, 那么整个数组就是有序的了.
作者: selfimpr
博客: http ......

C语言函数调用约定


转载自:
馨荣家园blog
在C语言中,假设我们有这样的一个函数:
int function(int a,int b)

用时只要用result =
function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算
机没有办法知道一个函数调用需要多少个、什么样的参数,也 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号