// Init audio with record capability
audioSession = [AVAudioSession sharedInstance];
[audioSession setActive:YES error:nil];
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
NSMutableDictionary *recordSettings = [[NSMutableDictionary alloc] initWithCapacity:10];
if(recordEncoding == ENC_PCM)
{
[recordSettings setObject:[NSNumber numberWithInt: kAudioFormatLinearPCM] forKey: AVFormatIDKey];
[recordSettings setObject:[NSNumber numberWithFloat:44100.0] forKey: AVSampleRateKey];
[recordSettings setObject:[NSNumber numberWithInt:2] forKey:AVNumberOfChannelsKey];
[recordSettings setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[recordSettings setObject:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey];
[recordSettings setObject:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey];
}
else
{
NSNumber *formatObject;
switch (recordEncoding) {
case (ENC_AAC):
formatObject = [NSNumber numberWithInt: kAudioFormatMPEG4AAC];
break;
case (ENC_ALAC):
formatObject = [NSNumber numberWithInt: kAudioFormatAppleLossless];
break;
case (ENC_IMA4):
formatObject = [NSNumber numberWithInt: kAudioFormatAppleIMA4];
break;
case (ENC_ILBC):
formatObject = [NSNumber numberWithInt: kAudioFormatiLBC];
break;
case (ENC_ULAW):
formatObject = [NSNumber numberWithInt: kAudioFormatULaw];
break;
default:
formatObject = [NSNumber numberWithInt: kAudioFormatAppleIMA4];
}
[recordSettings setObject:formatObject forKey: AVFormatIDKey];
[recordSettings setObject:[NSNumber numberWithFloat:44100.0] forKey: AVSampleRateKey];
[recordSettings setObject:[NSNumber numberWithInt:2] forKey:AVNumberOfChannelsKey];
[recordSettings setObject:[NSNumber numberWithInt:12800] forKey:AVEncoderBitRateKey];
[recordSettings setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[recordSettings setObject:[NSNumber numberWithInt: AVAudioQualityHigh] forKey: AVEncoderAudioQualityKey];
}
回答
嘗試記錄與此問題的設置:
iphone-peakPowerForChannel function in AVAudioRecorder doesn't work
的設置使用似乎有從你使用的手機有點不同。
使用此recoed設置AVAudioRecorder ....
recordSetting = [[NSMutableDictionary alloc] init];
[recordSetting setValue :[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey];
[recordSetting setValue :[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[recordSetting setValue :[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey];
[recordSetting setValue :[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey];
它的工作,我都做到了......
問候
它的工作,但我的問題是,錄製完成後,整個應用程序的聲音是非常低 – 2011-05-07 09:00:14
雅,DUDE ..但檢查有關錄製你之前創建的字典..而且我只發佈錄音字典..之後你需要在AVAudioRecorder使用dictionnary .. – 2011-05-07 09:30:01
雅親愛的我已經添加字典在avrecorder,但問題相同,請幫助,如果你有任何想法謝謝 – 2011-05-07 11:00:27
- 1. Wasapi音頻質量
- 2. 使用ffmpeg從視頻中提取低/質量好的音頻
- 3. 控制MediaPlayer的音頻質量
- 4. 與Microsoft Translator的低音頻質量
- 5. 如何在Android中錄製質量更好的音頻文件?
- 6. 谷歌語音API - 識別base64編碼音頻
- 7. 提高Android音頻錄製質量?
- 8. Linux音頻記錄和質量比較
- 9. 改善NAudio Mp3音頻質量
- 10. Google的雲語音API語音音量
- 11. QTextStream重音編碼
- 12. 音頻/語音可視化
- 13. 音頻/語音網絡RTC
- 14. 編碼音量條
- 15. 視頻/音頻編碼/解碼/播放
- 16. 壓縮音頻編碼
- 17. html5音頻編解碼器
- 18. 學習編程的好的音頻源?
- 19. ffmpeg重新編碼h264 mp4修剪多餘的音頻
- 20. 睡眠期間的音頻重新編碼 - Android
- 21. 第一次音頻重新編碼的權限獲取問題
- 22. OnTriggerEnter重新啓動音頻
- 23. FFmpeg的音頻編碼器的新編碼功能
- 24. 使用網絡音頻播放編碼的音頻流Api
- 25. Tumblr音頻後期編碼不工作
- 26. 如何判斷音頻/視頻編解碼器是否「好」?
- 27. 使用Twilio可編程語音SDK的通話質量很差
- 28. IPhone音頻:音量微弱的(但好帶耳機)
- 29. 重現音頻
- 30. 錄製/播放聲音時音質不好 - Android SDK
代碼工作,但語音質量不達標標記請幫助我謝謝 – 2011-05-07 04:21:11