【发布时间】:2016-12-02 17:02:40
【问题描述】:
由于未捕获的异常“com.apple.coreaudio.avfaudio”而终止应用程序,原因:“所需条件为假:节点!= nil”
AVAudioFile *file=[[AVAudioFile alloc] initForReading:_recordedvoice error:nil];
AVAudioFormat *format=file.processingFormat;
AVAudioFrameCount capacity= (AVAudioFrameCount)file.length;
AVAudioPCMBuffer *buffer=[[AVAudioPCMBuffer alloc] initWithPCMFormat:format frameCapacity:capacity];
[file readIntoBuffer:buffer error:nil];
[playerNode scheduleBuffer:buffer completionHandler:nil];
engine = [[AVAudioEngine alloc] init];
playerNode = [[AVAudioPlayerNode alloc] init];
[engine attachNode: playerNode];
AVAudioMixerNode *mixer = engine.mainMixerNode;
AVAudioUnitTimePitch *auTimePitch;
auTimePitch.pitch=1200.0;// In cents. The default value is 1.0. The range of values is -2400 to 2400
auTimePitch.rate = 2.0; //The default value is 1.0. The range of supported values is 1/32 to 32.0.
//get the error in the following line
[engine attachNode: auTimePitch];
[engine connect:playerNode to:auTimePitch format:[mixer outputFormatForBus:0]];
[engine connect:playerNode to:mixer format:[mixer outputFormatForBus:0]];
[playerNode play];
【问题讨论】:
-
可能与完成处理程序有关。查看此堆栈溢出答案 - stackoverflow.com/a/29630124/5716449
-
我是全新的目标 c 我想把录制的声音变成不同的声音,比如女孩等,你能帮我吗....
-
检查这个问题。 stackoverflow.com/questions/1100495/… 这应该可以帮助您完成任务。
-
我不能正常工作,你能帮帮我吗.....
-
很多人建议这个 - zynaptiq.com/ztx/license-or-evaluate-ztx
标签: objective-c avaudiorecorder pitch-shifting avaudiofile