linux ¼Òô·ÅÒô³ÌÐò£¨´ÓÍøÉÏÕÒÀ´µÄ£©
/*
Name: SndKit.c
Copyright: GPLv2
Author: rockins(ybc2084@163.com)
Date: 15-10-06 18:22
Description: implent raw sound record/play
run: ./SndKit [-h] [-d device] [-c channel] [-b bits] [-f hz] [-l len] <-r|-p file>
e.g.:
./SndKit -h show help information
./SndKit -r record.wav record audio from microphone(/dev/dsp)
./SndKit -d /dev/dsp -p record.wav playback record.wav via /dev/dsp
./SndKit -b 8 -f 22 -r reacord.wav record audio in 8 bit & 22k hz
./SndKit -d /dev/dsp -c 2 -r record.wav record audio in /dev/dsp and stereo
./SndKit -r -l 40 record.wav record 40k audio data
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <linux/soundcard.h> /*for OSS style sound programing */
#define TRUE 1
#define FALSE 0
#define FMT8BITS AFMT_U8 /*unsigned 8 bits(for almost PC) */
#define FMT16BITS AFMT_S16_LE /*signed 16 bits,little endian */
#define FMT8K 8000 /*default sampling rate */
#define FMT11K 11025 /*11,22,44,48 are three pop rate */
#define FMT22K 22050
#define FMT44K 44100
#define FMT48K 48000
#define MONO 1
#define STEREO 2
#define ACT_RECORD 0
#define ACT_PLAY 1
#define DFT_SND_DEV "/dev/dsp"
#define DFT_SND_FMT FMT8BITS
#define DFT_SND_SPD FMT8K
#define DFT_SND_CHN MONO
#define DFT_LEN 1024 /*default record length:40k */
#define BUFF_SIZE 512 /*buffer size:512 Bytes */
/************** function prototype ********************/
v
Ïà¹ØÎĵµ£º
mountÊÇÓÃÀ´¹ÒÔØÎļþϵͳµÄ£¬¿ÉÒÔÔÚÆô¶¯µÄʱºò¹ÒÔØÒ²¿ÉÒÔÔÚÆô¶¯ºó¹ÒÔØ¡£ÔÚÆô¶¯ºó¹ÒÔØ¿ÉÒÔʹÓÃmountÃüÁîʵÏÖ£¬ÒªÊµÏÖÆô¶¯Ê±×Ô¶¯¹ÒÔØÉ豸ÔòÐèÆô¶¯autofs·þÎñ¾ÍÌṩÕâÖÖ¹¦ÄÜ¡£¸Ã¹¦ÄܾÍÏñwindowsÖеĹâÇý×Ô¶¯´ò¿ª¹¦ÄÜ£¬Äܹ»¼°Ê±¹ÒÔØ¶¯Ì¬¼ÓÔØµÄÎļþϵͳ¡£ÃâÈ¥ÎÒÃÇÊÖ¶¯¹ÒÔÚÂé·³¡£ÒªÊµÏÖ¹âÇý£¬ÈíÅ̵ȵĶ¯Ì¬×Ô¶¯¹ÒÔØ£¬ÐèÒª½øÐÐÏà¹Øµ ......
1. ²é¿´Äں˰汾ÃüÁ
¡¡¡¡1) [root@q1test01 ~]# cat /proc/version
¡¡¡¡ Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005
¡¡¡¡2) [root@q1test01 ~]# uname -a
¡¡¡¡Linux q1test0 ......
Å£½ò×ÖµäÖжÔ"kernel"Ò»´ÊµÄ¶¨ÒåÊÇ£º"½ÏÈíµÄ¡¢Í¨³£ÊÇÒ»¸ö¼á¹û¿ÉʳÓõIJ¿·Ö¡£"µ±È»»¹ÓеڶþÖÖ¶¨Ò壺"ij¸ö¶«Î÷ºËÐÄ»òÕß×îÖØÒªµÄ²¿·Ö¡£"¶ÔLinuxÀ´Ëµ£¬ËüµÄKernelÎÞÒÉÊôÓÚµÚ¶þÖÖ½âÊÍ¡£ÈÃÎÒÃÇÀ´¿´¿´Õâ¸öÖØÒªµÄ¶«Î÷ÊÇÈçºÎ¹¤×÷µÄ£¬ÏÈ´ÓÒ»µãÀíÂÛ˵Æð¡£
¹ãÒ嵨À´Ëµkernel¾ÍÊÇÒ»¸öÈí¼þ£¬ËüÔÚÓ²¼þºÍÔËÐ ......
ÉùÒôÎļþ±ØÐëΪWave PCM unsigned 8bits mono¸ñʽ
/* the *.wav must be 8000Hz 64kbps 8bits MONO(1)*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <linux/soundcard.h&g ......
ת×Ô£ºhttp://hi.baidu.com/deep_pro/blog/item/b4253550bb5ab7561138c27a.html
ÕâÀï×ªÔØµÄÊÇLinuxÏÂÒÆÖ²jvmµÄ¹ý³Ì£¬ÒòΪ½ö½öÊÇCDC
J2ME CDC£¨Connected Device Configuration£¬Á¬½ÓʽÉ豸ÅäÖü¯£©
ʹÓÃCVM£¬ÃæÏòÄÇЩ¾ßÓиüÇ¿¼ÆËãÄÜÁ¦µÄǶÈëʽÉ豸£¬°üº¬ÁËJavaÀà¿âµÄºËÐIJ¿·Ö£¬ÊÇÓ¦ÓÃJava¼¼ÊõÔÚǶÈëʽÉ豸ÉϽøÐпª·¢ËùÐè ......