如何在iOS 8+的APP中制作颤音或颤音音频效果?
我正在通过Apple提供的AVFoundation在iOS 8+的APP中制作音频效果。而且我通过AVAudioEngine建立了一些效果,例如音高偏移,延迟(回声),失真。但是我没有找到与颤音或颤音效果有关的AVAudioUnit。
我找到的唯一文档是Audio Unit Programming Guide,但是此文档不再更新,并且该文档中提到的Core Audio SDK也消失了。
我不在乎使用属于AVFoundation的高级API或什至是用c / c ++编写的低级API,我只想使用某种方法来产生颤音或颤音效果,或者一般来说,如果没有封装的API,找到一种制作定制音频效果的方法。
顺便说一下,这是我的示例代码来产生延迟(回声)效果 (iOS 8 +,Xcode 10.0):
...
if(!self.avAudioEngine.running) {
NSLog(@"AVAudioEngine is not running!");
return;
}
// reset all the nodes
[self.avAudioEngine reset];
// attach node
if(!self.avAudioUnitDelay) {
self.avAudioUnitDelay = [[AVAudioUnitDelay alloc] init];
}
[self.avAudioEngine attachNode:self.avAudioPlayerNode];
[self.avAudioEngine attachNode:self.avAudioUnitDelay];
// connect node
if(!self.avAudioMixerNode) {
self.avAudioMixerNode = [self.avAudioEngine mainMixerNode];
}
[self.avAudioEngine connect:self.avAudioPlayerNode to:self.avAudioUnitDelay format:nil];
[self.avAudioEngine connect:self.avAudioUnitDelay to:self.avAudioMixerNode format:nil];
// parameters
self.avAudioUnitDelay.delayTime = 0.02;
self.avAudioUnitDelay.feedback = 80;
self.avAudioUnitDelay.wetDryMix = 90;
// play
[self.avAudioPlayerNode scheduleFile:self.soundFile atTime:nil completionHandler:nil];
[self.avAudioPlayerNode play];
...
答案 0 :(得分:-1)
尝试这个
import UIKit
import AudioToolbox
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))
}
}