//
// amrFileCodec.h
// amrDemoForiOS
//
// Created by Tang Xiaoping on 9/27/11.
// Copyright 2011 test. All rights reserved.
//
#ifndef amrFileCodec_h
#define amrFileCodec_h
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "interf_dec.h"
#include "interf_enc.h"
#define AMR_MAGIC_NUMBER "#!AMR\n"
#define PCM_FRAME_SIZE 160 // 8khz 8000*0.02=160
#define MAX_AMR_FRAME_SIZE 32
#define AMR_FRAME_COUNT_PER_SECOND 50
typedef struct
{
char chChunkID[4];
int nChunkSize;
}XCHUNKHEADER;
typedef struct
{
short nFormatTag;
short nChannels;
int nSamplesPerSec;
int nAvgBytesPerSec;
short nBlockAlign;
short nBitsPerSample;
}WAVEFORMAT;
typedef struct
{
short nFormatTag;
short nChannels;
int nSamplesPerSec;
int nAvgBytesPerSec;
short nBlockAlign;
short nBitsPerSample;
short nExSize;
}WAVEFORMATX;
typedef struct
{
char chRiffID[4];
int nRiffSize;
char chRiffFormat[4];
}RIFFHEADER;
typedef struct
{
char chFmtID[4];
int nFmtSize;
WAVEFORMAT wf;
}FMTBLOCK;
// WAVE音频采样频率是8khz
// 音频样本单元数 = 8000*0.02 = 160 (由采样频率决定)
// 声道数 1 : 160
// 2 : 160*2 = 320
// bps决定样本(sample)大小
// bps = 8 --> 8位 unsigned char
// 16 --> 16位 unsigned short
int EncodeWAVEFileToAMRFile(const char* pchWAVEFilename, const char* pchAMRFileName, int nChannels, int nBitsPerSample);
// 将AMR文件解码成WAVE文件
int DecodeAMRFileToWAVEFile(const char* pchAMRFileName, const char* pchWAVEFilename);
#endif
没有合适的资源?快使用搜索试试~ 我知道了~
wav音频的录制-->转成amr
共43个文件
h:13个
m:8个
mm:3个
需积分: 22 7 下载量 132 浏览量
2014-09-06
15:59:57
上传
评论
收藏 1.3MB ZIP 举报
温馨提示
今天距离2014年中秋节还有两天 怀着不情愿的心情写了个ios录音demo 项目逼人啊 功能包含: 1 使用AVAudioRecorder录音成wav文件 2 为了避免录音启动耗时0 5秒(因为我录音时会有个mic图片的gif 发现显示gif显示被延时0 5秒) 所以 开启子线程做录音的operation 3 为了让可恶的android也能使用 需要将wav >amr">今天距离2014年中秋节还有两天 怀着不情愿的心情写了个ios录音demo 项目逼人啊 功能包含: 1 使用AVAudioRecorder录音成wav文件 2 为了避免录音启动耗时0 5秒(因为我录音时会有个mic图片的gif 发现显示gif显示被延时0 5秒) [更多]
资源推荐
资源详情
资源评论
收起资源包目录
Record&Play.zip (43个子文件)
Record&Play
Record&PlayTests
Record&PlayTests-Info.plist 692B
Record_PlayTests.m 649B
en.lproj
InfoPlist.strings 45B
Record&Play
main.m 344B
Record&Play-Prefix.pch 563B
MQLViewController.h 222B
Record&Play-Info.plist 1KB
Base.lproj
Main.storyboard 6KB
MQLAppDelegate.m 2KB
Images.xcassets
AppIcon.appiconset
Contents.json 333B
LaunchImage.launchimage
Contents.json 442B
MQLAppDelegate.h 284B
en.lproj
InfoPlist.strings 45B
MQLViewController.m 5KB
.DS_Store 6KB
AudioManage
VoiceConvert
VoiceConverter.mm 853B
opencore-amrnb
interf_enc.h 1KB
interf_dec.h 1KB
opencore-amrwb
dec_if.h 1KB
if_rom.h 931B
VoiceConverter.h 366B
amrwapper
amrFileCodec.h 1KB
wav.h 1KB
wav.mm 3KB
amrFileCodec.mm 10KB
lib
libopencore-amrnb.a 2.59MB
libopencore-amrwb.a 962KB
MQLAudioManage.m 4KB
.DS_Store 6KB
MQLAudioManage.h 897B
RecordThread
MQLRecordOperation.h 364B
MQLRecordOperation.m 2KB
RecordingStatusView
MQLRecordingStatusView.h 222B
MQLRecordingStatusView.m 1KB
SCGIFImageView
SCGIFImageView.h 671B
SCGIFImageView.m 3KB
MQLMicRecord.gif 5KB
Record&Play.xcodeproj
project.xcworkspace
contents.xcworkspacedata 160B
xcuserdata
uniwin.xcuserdatad
UserInterfaceState.xcuserstate 58KB
project.pbxproj 29KB
xcuserdata
uniwin.xcuserdatad
xcschemes
xcschememanagement.plist 577B
Record&Play.xcscheme 4KB
xcdebugger
Breakpoints_v2.xcbkptlist 889B
共 43 条
- 1
资源评论
qianlima210210
- 粉丝: 89
- 资源: 49
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 5ffd9193f6aec31bbf16030a46680dc7.avi
- DA14531-蓝牙传感器连接传输数据固件
- logisim实验MIPS运算器(ALU)设计(内含4位先行进位74182、四位快速加法器、32位快速加法器)-Educoder_logisim里面连线,实现4位先行进位74182和4位快速加法器-C
- 高等数学第一章第二节数列的极限
- Python 版冒泡排序算法源代码
- tensorflow-gpu-2.7.2-cp38-cp38-manylinux2010-x86-64.whl
- tensorflow-2.7.3-cp39-cp39-manylinux2010-x86-64.whl
- tensorflow-2.7.2-cp39-cp39-manylinux2010-x86-64.whl
- Python版本快速排序源代码
- 精品源码基于JSP实现的酒店管理系统
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功