gpt4 book ai didi

ios - AVAudioPlayerNode 不播放声音

转载 作者:可可西里 更新时间:2023-11-01 00:58:17 28 4
gpt4 key购买 nike

我正在尝试使用以下代码生成声音。一切都很好,没有错误。但是当我执行这段代码时,没有声音。我该如何解决这个问题?

顺便说一句,我正在使用这个例子:http://www.tmroyal.com/playing-sounds-in-swift-audioengine.html

var ae:AVAudioEngine
var player:AVAudioPlayerNode?
var mixer:AVAudioMixerNode
var buffer:AVAudioPCMBuffer

ae = AVAudioEngine()
player = AVAudioPlayerNode()
mixer = ae.mainMixerNode;
buffer = AVAudioPCMBuffer(pcmFormat: player!.outputFormat(forBus:0), frameCapacity: 100)
buffer.frameLength = 100

// generate sine wave.
var sr:Float = Float(mixer.outputFormat(forBus:0).sampleRate)
var n_channels = mixer.outputFormat(forBus:0).channelCount

var i:Int=0
while i < Int(buffer.frameLength) {
var val = sinf(441.0*Float(i)*2*Float(M_PI) / Float(sr))
buffer.floatChannelData?.pointee[i] = val * 0.5
i+=Int(n_channels)
}

// setup audio engine
ae.attach(player!)
ae.connect(player!, to: mixer, format: player!.outputFormat(forBus: 0))

ae.prepare()
try! ae.start()
// play player and buffer
player!.scheduleBuffer(buffer, at: nil, options: .loops, completionHandler: nil)
player!.play()

最佳答案

您的 AVAudioEngine 看起来像是一个局部变量 - 它将超出范围并被释放。将它分配给类实例变量,也许您会听到一些声音。

关于ios - AVAudioPlayerNode 不播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39958750/

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