51 lines
2.0 KiB
Plaintext
Executable File
51 lines
2.0 KiB
Plaintext
Executable File
//
|
|
// VoiceConverter.m
|
|
// Jeans
|
|
//
|
|
// Created by Jeans Huang on 12-7-22.
|
|
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
|
|
//
|
|
|
|
#import "VoiceConverter.h"
|
|
//#import "interf_dec.h"
|
|
//#import "dec_if.h"
|
|
//#import "interf_enc.h"
|
|
#import "amrFileCodec.h"
|
|
|
|
|
|
@implementation VoiceConverter
|
|
|
|
//转换amr到wav
|
|
+ (int)ConvertAmrToWav:(NSString *)aAmrPath wavSavePath:(NSString *)aSavePath{
|
|
|
|
if (! DecodeAMRFileToWAVEFile([aAmrPath cStringUsingEncoding:NSASCIIStringEncoding], [aSavePath cStringUsingEncoding:NSASCIIStringEncoding]))
|
|
return 0;
|
|
|
|
return 1;
|
|
}
|
|
|
|
//转换wav到amr
|
|
+ (int)ConvertWavToAmr:(NSString *)aWavPath amrSavePath:(NSString *)aSavePath{
|
|
|
|
if (! EncodeWAVEFileToAMRFile([aWavPath cStringUsingEncoding:NSASCIIStringEncoding], [aSavePath cStringUsingEncoding:NSASCIIStringEncoding], 1, 16))
|
|
return 0;
|
|
|
|
return 1;
|
|
}
|
|
|
|
//获取录音设置
|
|
+ (NSDictionary*)GetAudioRecorderSettingDict{
|
|
NSDictionary *recordSetting = [[NSDictionary alloc] initWithObjectsAndKeys:
|
|
[NSNumber numberWithFloat: 8000.0],AVSampleRateKey, //采样率
|
|
[NSNumber numberWithInt: kAudioFormatLinearPCM],AVFormatIDKey,
|
|
[NSNumber numberWithInt:16],AVLinearPCMBitDepthKey,//采样位数 默认 16
|
|
[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,//通道的数目
|
|
// [NSNumber numberWithBool:NO],AVLinearPCMIsBigEndianKey,//大端还是小端 是内存的组织方式
|
|
// [NSNumber numberWithBool:NO],AVLinearPCMIsFloatKey,//采样信号是整数还是浮点数
|
|
// [NSNumber numberWithInt: AVAudioQualityMedium],AVEncoderAudioQualityKey,//音频编码质量
|
|
nil];
|
|
return recordSetting;
|
|
}
|
|
|
|
@end
|