gpt4 book ai didi

audio - Matt Gallagher的iOS音源

转载 作者:行者123 更新时间:2023-12-03 00:14:31 26 4
gpt4 key购买 nike

有人可以给我指出Matt Gallagher的Tone Generator的工作版本吗?

http://www.cocoawithlove.com/assets/objc-era/ToneGenerator.zip

正如Matt所说,它尚未更新,显然已被较新的API破坏。我更新了我可以确定需要更新的内容,现在它仅使用弃用警告进行编译和运行,但所做的只是在触摸“播放”和“停止”按钮时发出咔嗒声。我遍历了代码,并查看了Xcode中关于API的文档,但这是一个艰难的学习过程。我希望有一个工作版本,以便我可以进行修改以了解更多信息。有人更新过吗?还是类似的声音发生器?

我尝试通过以下方式使用hotpaw2中的ToneOutputUnit类。

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
let unit = ToneOutputUnit()
unit.toneCount = 64000
unit.setFrequency(1000.0)
unit.setToneVolume(0.5)
unit.startToneForDuration(2.0)
unit.enableSpeaker()
print("ok")
}

}

我可以看到ToneOutputUnit代码正在被调用,并且正在逐步执行各种功能,但是没有产生声音。我还尝试在“startToneForDuration”之前调用“enableSpeaker”,但也没有声音。我想念什么?

最佳答案

当然,Gene De Lisa是对的。需要在viewDidLoad之外声明“unit”变量,以便不会立即将其释放。另外,“unit.enableSpeaker()”必须位于“unit.startToneForDuration(0.5)”之前。但是,即使进行了这两个更改,我也听不到声音。经过更多的抓挠之后,我在hotpaw2的ToneOutputUnit.swift(在github中)中发现了两个缩放错误。

1)在函数startToneForDuration中,“toneCount = Int32(round(time / sampleRate))”行应为“toneCount = Int32(time * sampleRate)”。

2)在函数setToneVolume中,“v0 = vol / 32768.0”行应为“v0 = vol * 32768.0”。

通过这两个更改,它可以工作并产生看起来合理的音量和持续时间的音调。

@ Hotpaw2:希望您能在github中更新您的版本。这是一门写得很好的类(class),可以帮助其他人。

关于audio - Matt Gallagher的iOS音源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38909493/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com