录音

使用libspeex实现原始音频文件的编码和解码技术

送分小仙女□ 提交于 2021-01-05 10:23:54
这几天在单位研究使用libspeex对原始音频文件(PCM文件)进行编解码。在linux下原始音频文件可以通过arecord命令进行采集,使用的采样率是8kHz,量化位数为有符号16位整数(小端存储),单通道模式。在linux下播放原始音频文件可以通过使用aplay命令进行播放,在播放的时候需要给出量化位数参数,因为aplay默认使用8位无符号数进行量化取样。 下面分别是编码和解码的源代码,注意linux编译环境需要有speex(speex运行库包)和speex_devel(speex开发包)。 声音录制和编码源代码: /* * ===================================================================================== * * Filename: record_spx.c * * Description: * * Version: 1.0 * Created: 12/01/2011 12:49:48 PM * Revision: none * Compiler: gcc * * Author: YOUR NAME (), * Company: * * =============================================================================

关于iOS 录音并且转码上传的相关问题

╄→尐↘猪︶ㄣ 提交于 2019-12-07 13:32:14
第一步: 录音 录音这个很简单,给大家分享一个比较全面的demo, https://github.com/liuchunlao/RecordAndPlayVoice; 录音和播放的功能基本够用了, /** 录音工具的单例 */ + (instancetype)sharedRecordTool; /** 开始录音 */ - (void)startRecording; /** 停止录音 */ - (void)stopRecording; /** 播放录音文件 */ - (void)playRecordingFile; /** 停止播放录音文件 */ - (void)stopPlaying; /** 销毁录音文件 */ - (void)destructionRecordingFile; /** 录音对象 */ @property (nonatomic, strong) AVAudioRecorder *recorder; /** 播放器对象 */ @property (nonatomic, strong) AVAudioPlayer *player; /** 更新图片的代理 */ @property (nonatomic, assign) id<LVRecordToolDelegate> delegate; 详细的实现代码大家可以看下载的demo. 需要提醒大家注意一点:

Android仿微信录音功能,自定义控件的设计技巧

。_饼干妹妹 提交于 2019-11-28 23:27:04
最近由于需要做一个录音功能(/嘘 悄悄透露一下,千万别告诉红薯,就是新版本的OSC客户端噢),起初打算采用仿微信的录音方式,最后又改成了QQ的录音方式,之前的微信录音控件也就白写了[大哭]。之前有很多朋友在问我自定义控件应该怎么学习,遂正好拿出来讲讲喽,没来得及截效果图,大家就自己脑补一下微信发语音时的样子吧。 所谓自定义控件其实就是由于系统SDK无法完成需要的功能时,通过自己扩展系统组件达到完成所需功能做出的控件。 Android自定义控件有两种实现方式,一种是通过继承View类,其中的全部界面通过画布和画笔自己创建,这种控件一般多用于游戏开发中;另一种则是通过继承已有控件,或采用包含关系包含一个系统控件达到目的,这也是接下来本文所要讲到的方法。 先看代码(篇幅有限,仅保留重要方法) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86