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

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

#include <unistd.h>
#include <fcntl.h>
#include
<sys/types.h>
#include <sys/ioctl.h>
#include
<stdlib.h>
#include <stdio.h>
#include
<linux/soundcard.h>
/* 下面的三个参数是跟具体文件相关的,文件什么样,就要设置成什么样 */
#define RATE 11025  
#define SIZE 16    
#define CHANNELS
2  // 1表示单声道,2为立体声
/* ................ */
unsigned char
buf[RATE*SIZE/8]; //buf里面正好放一秒钟的音频,下面的计时还要用
int main()
{
    int fd;
    int wavfd; //wav文件的描述符
    int arg;        /* ..ioctl..... */
    int status;   /*
........ */
                /* ...... */
    fd = open("/dev/dsp",
O_RDWR);      
    if (fd < 0) {
        printf("open of /dev/dsp failed");
       
exit(1);
}
    wavfd = open("a.wav",O_RDONLY);
    if (wavfd
< 0) {
        printf("open of wav failed");
        exit(1);
 
}
 
/* .......... */
    arg = SIZE;
    status = ioctl(fd,
SOUND_PCM_WRITE_BITS, &arg);
    if (status == -1)
        
perror("SOUND_PCM_WRITE_BITS ioctl failed");
    if (arg != SIZE)
        
perror("unable to set sample size");
 
/* .......... */
    arg = CHANNELS;
    status = ioctl(fd,
SOUND_PCM_WRITE_CHANNELS, &arg);
    if (status == -1)
 &nb


相关文档:

理解linux tr命令

1. tr 命令的功能
tr命名是简化了的sed命令。其主要的功能包括:
a. 用一个字符来替换另外一个字符。
b. 删除字符串中的指定子串。
c. 合并字符串中重复串。
2. 常见的命令格式:
tr -c -d -s ["string1_to_translate_from"] ["string2_to_translate_to"] < input-file
-c 用字符串1中字符集的补集替换此字符集, ......

如何编译Linux内核

内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux作为一个自由软件,在广
大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一
个更高效,更稳定 ......

Linux下MP3歌曲信息乱码之贱人解决方案

转载:
现在linux下有越来越多的优秀的播放软件,xmms,m-player,beep-media-player,totme,rhythmbox,等等等等,但是这些播放软件都不能很好的解决mp3文件中文信息乱码的问题。
究其原因,现在网上绝大多数(99%以上)的mp3都是网友在windows下压制的,文字信息编码方式自然是GBK,到了linux下面就没有lftp ......

linux内核 address_space 结构

看linux内核很容易被struct address_space 这个结构迷惑,它是代表某个地址空间吗?实际上不是的,它是用于管理文件(struct inode)映射到内存的页面(struct page)的;与之对应,address_space_operations 就是用来操作该文件映射到内存的页面,比如把内存中的修改写回文件、从文件中读入数据到页面缓冲等。
  & ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号