playsound.c

来自「一个linux 播放PCM数据程序」· C语言 代码 · 共 50 行

C
50
字号
//gcc test2.c -O2 -I.. -L. ../libvo/aclib.c -lMP3 -lm -o test2#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <sys/ioctl.h>#include <unistd.h>#include <sys/soundcard.h>int audio_fd;int r;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////int playsound_init(){    printf( "playsound init\n" );    audio_fd=open("/dev/dsp", O_WRONLY);    if(audio_fd<0){  printf("Can't open audio device\n");exit(1); }    //r=AFMT_S16_LE;    r=AFMT_U8;    ioctl (audio_fd, SNDCTL_DSP_SETFMT, &r);        //r=MP3_channels-1;    r = 0;    ioctl (audio_fd, SNDCTL_DSP_STEREO, &r);        r = 11025;    ioctl (audio_fd, SNDCTL_DSP_SPEED, &r);        return 1;}int playsound_close(){    printf( "playsound close\n" );    close( audio_fd );    return 1;}int playsound_play( char* buffer, int len ){    printf( "playsound play\n" );    return write(audio_fd,buffer,len);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?