【发布时间】:2017-12-15 23:16:12
【问题描述】:
我正在尝试在一个简单的 iOS 项目上使用 AKSampler 来加载文件并在点击设备屏幕时播放它。
我用AKSamplePlayer 做了同样的步骤,效果很好,但我宁愿使用AKSampler,而且我有一种强烈的错过某些东西的感觉。
我已经尝试过play() 方法,也尝试过带有midi 音符的方法。
哪一个是对的?它们都有效吗?此外,AudioKit 看起来很有前途。
这是我的代码:
import UIKit
import AudioKit
class ViewController: UIViewController
{
var sampler = AKSampler()
var tapRecognizer = UITapGestureRecognizer()
override func viewDidLoad()
{
super.viewDidLoad()
do
{
let file = try AKAudioFile(readFileName: "AH_G2.wav")
try sampler.loadAudioFile(file)
}
catch
{
print("No Such File...")
}
view.addGestureRecognizer(tapRecognizer)
view.isUserInteractionEnabled = true
tapRecognizer.addTarget(self, action: #selector(viewTapped))
AudioKit.output = sampler
AudioKit.start()
}
@objc private func viewTapped()
{
sampler.play(noteNumber: 60, velocity: 80, channel: 0)
print("tapped...")
}
}
编辑:
我的问题实际上是loadAudioFile 方法,AKAudioFile 本身很好,AKSampler 播放默认正弦声音。
我还尝试了 AKAudioFile 创建播放器的方法,但没有。
let file = try AKAudioFile (readFileName: "AH_G2.wav")
player = file.player
sampler = file.sampler
我也尝试使用菜单添加wav文件,没有变化。
【问题讨论】: