我正在尝试开发一个具有均衡器的音乐播放器应用程序。我正在使用AVAudioEngine和附加的AVAudioPlayerNode,但当我更改歌曲时,前一首歌曲也会与当前歌曲一起播放。切换多首歌曲,同时播放所有歌曲。之前我使用的是MPMediaItemPlayer,但在这种情况下,我无法连接均衡器。我想让我的应用一次播放一首带有均衡器的歌曲。
self.AVaudioEngine = AVAudioEngine.init()
self.AVaudioPlayerNode = AVAudioPlayerNode.init()
self.AVaudioUnitEQ = AVAudioUnitEQ(numberOfBands: 10)
self.AVaudioEngine.attach(self.AVaudioPlayerNode)
self.AVaudioEngine.attach(self.AVaudioUnitEQ)
self.AVaudioPlayerNode.scheduleFile(self.AVaudioFile, at: nil, completionHandler: nil)
self.AVaudioEngine.connect(self.AVaudioPlayerNode, to: self.AVaudioUnitEQ, format: self.AVaudioFile.processingFormat)
self.AVaudioEngine.connect(self.AVaudioUnitEQ, to: self.AVaudioEngine.mainMixerNode, format: self.AVaudioFile.processingFormat)
if !self.AVaudioEngine.isRunning {
try! self.AVaudioEngine.start()
}
let sampleRate = self.AVaudioFile.processingFormat.sampleRate / 2
let format = self.AVaudioEngine.mainMixerNode.outputFormat(forBus: 0)
self.AVaudioEngine.mainMixerNode.installTap(onBus: 0, bufferSize: AVAudioFrameCount(sampleRate), format: format, block:{ (buffer: AVAudioPCMBuffer!, time: AVAudioTime!) -> Void in
})
self.AVaudioPlayerNode.play()提前感谢!
发布于 2019-11-14 16:31:26
这是你开始玩AVaudioPlayerNode的代码。但是,您的停止播放AVaudioPlayerNode的代码在哪里?
你看到this了吗?
https://stackoverflow.com/questions/58851979
复制相似问题