record_play

所属分类:Linux/Unix编程
开发工具:Unix_Linux
文件大小:2379KB
下载次数:60
上传日期:2011-04-16 20:24:31
上 传 者zhenglong705
说明:  oss驱动下的播放和录音程序,录音时可以选择录音频率,声道,量化位数;相应的播放程序可以识别声音文件,设置声卡参数进行播发。
(oss driven playback and recording procedures, recording can choose to record the frequency, channel, quantization bits player can identify the corresponding sound files, set the parameters of broadcast sound.)

文件列表:
record_play\bingyu3.wav (2734204, 2011-04-13)
record_play\dahai0.wav (248004, 2011-04-13)
record_play\play (8662, 2011-04-13)
record_play\play.c (1532, 2011-04-13)
record_play\play.c~ (1470, 2011-04-13)
record_play\record (8988, 2011-04-13)
record_play\record.c (2104, 2011-04-13)
record_play\record.c~ (2104, 2011-04-13)
record_play\tanyongling2.wav (1367104, 2011-04-13)
record_play\taudio.c (4617, 2009-08-03)
record_play\taudio.h (2574, 2009-08-03)
record_play\wangfeng1.wav (341779, 2011-04-13)
record_play (0, 2011-04-14)

录音-播放程序介绍(使用OSS驱动模块) record.c:读声卡数据,保存到文件中,实现录音功能。 play.c:读文件中的数据,写到声卡中,用来播放record.c保存的文件。 taudio.c:封装驱动程序提供的API,对声卡进行操作的各种函数,包括打开、关闭、设置声卡参数、读写声卡。 taudio.h:声明taudio.c中的各种函数,定义一些常量。 注:由于record只是简单的读取声卡中的数据,保存到wav文件中,没有加上标准wav文件的头部, 所以一般的音频播放器不能识别,只能使用play进行播放。 taudio.h中函数说明: ta_handle_t ta_open(ta_char_t const* devname, ta_mode_t mode); 功能:以mode指定的模式,打开声卡,返回文件描述符 ta_close(ta_handle_t haudio); 功能:关闭声卡 ta_bool_t ta_play(ta_handle_t haudio, ta_byte_t* data, ta_size_t n); 功能:往声卡写入数据,数据由指针data和字节数n决定,成功返回1,失败返回0 ta_bool_t ta_record(ta_handle_t haudio, ta_byte_t* data, ta_size_t n); 功能:读取声卡中的数据,保存到指针data指向的地址,n指定字节数,成功返回1,失败返回0 ta_bool_t ta_set_sample_rate(ta_handle_t haudio, ta_size_t sample_rate); 功能:设置声卡采样频率,成功返回1,失败返回0 ta_bool_t ta_set_channels(ta_handle_t haudio, ta_size_t channels); 功能:设置声卡声道数,1(单声道)和2(立体声),成功返回1,失败返回0 ta_bool_t ta_set_quantify_bits(ta_handle_t haudio, ta_size_t quantify_bits); 功能:设置声卡量化位数,8和16,成功返回1,失败返回0 record使用: ./record 参数(0-3) 时间(秒) 保存文件名 参数0:单声道,量化位数-8,采样频率-8000 参数1:单声道,量化位数-8,采样频率-11025 参数2:单声道,量化位数-16,采样频率-22050 参数3:单声道,量化位数-16,采样频率-44100 play使用: ./play 文件名 录音过程: 1、open打开声卡设备/dev/dsp,只读 2、用ioctl函数设置声卡的采样频率、量化位数、声道数等参数 3、使用read读取声卡数据,即启动了声卡的 A/D转换器 4、把从声卡读取的数据保存到文件中 5、关闭声卡,关闭文件 播放过程: 1、open打开声卡设备/dev/dsp,只写 2、打开声音文件,读取其中的声卡参数 3、根据文件中的参数,用ioctl函数设置声卡的采样频率、量化位数、声道数等 4、读取文件中的数据 5、把读出的数据写入声卡中,即启动了声卡的 A/D转换器,实现放音功能 6、关闭声卡,关闭文件 OSS资料: http://blog.csdn.net/lanmanck/archive/2010/08/17/5818723.aspx

近期下载者

相关文件


收藏者