-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
集成科大讯飞语音
- 由于最近集成科大讯飞服务,遇到一些坑,= =,特此记录一下。
- 语音合成的是
pcm文件,pcm转wav - 如果需要转换成MP3格式需要借助
lame,第二部依然得进行~
+ (NSData *)writeWaveHead:(NSData *)audioData
sampleRate:(long)sampleRate {
Byte waveHead[44];
waveHead[0] = 'R';
waveHead[1] = 'I';
waveHead[2] = 'F';
waveHead[3] = 'F';
long totalDatalength = [audioData length] + 44;
waveHead[4] = (Byte)(totalDatalength & 0xff);
waveHead[5] = (Byte)((totalDatalength >> 8) & 0xff);
waveHead[6] = (Byte)((totalDatalength >> 16) & 0xff);
waveHead[7] = (Byte)((totalDatalength >> 24) & 0xff);
waveHead[8] = 'W';
waveHead[9] = 'A';
waveHead[10] = 'V';
waveHead[11] = 'E';
waveHead[12] = 'f';
waveHead[13] = 'm';
waveHead[14] = 't';
waveHead[15] = ' ';
waveHead[16] = 16;
//size of 'fmt '
waveHead[17] = 0; waveHead[18] = 0; waveHead[19] = 0; waveHead[20] = 1;
//format
waveHead[21] = 0; waveHead[22] = 1;
//chanel
waveHead[23] = 0;
waveHead[24] = (Byte)(sampleRate & 0xff);
waveHead[25] = (Byte)((sampleRate >> 8) & 0xff);
waveHead[26] = (Byte)((sampleRate >> 16) & 0xff);
waveHead[27] = (Byte)((sampleRate >> 24) & 0xff);
long byteRate = sampleRate * 2 * (16 >> 3);;
waveHead[28] = (Byte)(byteRate & 0xff);
waveHead[29] = (Byte)((byteRate >> 8) & 0xff);
waveHead[30] = (Byte)((byteRate >> 16) & 0xff);
waveHead[31] = (Byte)((byteRate >> 24) & 0xff);
waveHead[32] = 2*(16 >> 3); waveHead[33] = 0;
waveHead[34] = 16; waveHead[35] = 0;
waveHead[36] = 'd'; waveHead[37] = 'a';
waveHead[38] = 't'; waveHead[39] = 'a';
long totalAudiolength = [audioData length];
waveHead[40] = (Byte)(totalAudiolength & 0xff);
waveHead[41] = (Byte)((totalAudiolength >> 8) & 0xff);
waveHead[42] = (Byte)((totalAudiolength >> 16) & 0xff);
waveHead[43] = (Byte)((totalAudiolength >> 24) & 0xff);
NSMutableData * pcmData = [[NSMutableData alloc]initWithBytes:&waveHead length:sizeof(waveHead)];
[pcmData appendData:audioData];
return pcmData;
}
集成支付宝支付
- 集成流程 官方文档
rsa_private read error : private key is NULL
1解决方法:
1)在RSADataSigner.m文件中 搜索代码 [result appendString:@"-----BEGIN PRIVATE KEY-----\n"]; 将其改成 [result appendString:@"-----BEGIN RSA PRIVATE KEY-----\n"];
2)在RSADataSigner.m文件中 搜索代码 [result appendString:@"\n-----END PRIVATE KEY-----"]; 将其改成 [result appendString:@"\n-----END RSA PRIVATE KEY-----"];
layneios and sauchyelayneios and sauchye
Metadata
Metadata
Assignees
Labels
No labels