1
아래 코드로 사운드를 생성하려고합니다. 오류가없는 경우에도 아무 문제가 없습니다. 그러나이 코드를 실행할 때 소리가 들리지 않습니다. 이 문제를 어떻게 해결할 수 있습니까? 그런데 AVAudioPlayerNode가 사운드를 재생하지 않습니다.
, 나는이 예제를 사용하고 있습니다 : 그것은 지역 변수처럼 http://www.tmroyal.com/playing-sounds-in-swift-audioengine.htmlvar 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()