gpt4 book ai didi

ios - 存在 AKMicrophone 时来自 AKMIDISampler 的连续正弦波

转载 作者:行者123 更新时间:2023-11-29 11:31:00 25 4
gpt4 key购买 nike

当存在已初始化的 AKMicrophone 时,我在项目中使用 AKMIDISampler 时遇到问题。除了在采样器上调用“播放”时正确播放木版样本外,第一次“播放”被称为恒定正弦波开始播放 - 它永远不会停止。

我在下面用最少量的代码复制了这个问题。初始化类然后调用 playTestSample() 时会发生问题。

请注意,如果与 AKMicrophone 相关的代码全部静音,则 AKMIDISampler 可以正常播放,并且不会出现目前困扰我梦想的正弦波。

(我已经尝试切换到使用 AKSampler() 只是为了看看那里是否存在问题,但我无法从中得到任何声音)。

仅供引用:我在 info.plist 的“必需背景模式”中有“应用程序使用 AirPlay 播放音频或流式传输音频/视频”——已知可以解决另一个正弦波问题。

非常感谢您的帮助。

顺便说一句:AudioKit 非常棒,并且对这个项目提供了巨大的帮助! :^)

AK 4.5.4Xcode 10.1

import Foundation
import AudioKit

class AudioKitTESTManager {

var mixer = AKMixer()

var sampler = AKMIDISampler()

var mic = AKMicrophone()
var micMixer = AKMixer()
var micBooster = AKBooster()

init() {

mixer = AKMixer(sampler, micBooster)

do {
let woodblock = try AKAudioFile(readFileName: RhythmGameConfig.woodblockSoundName)

try sampler.loadAudioFiles([woodblock])

} catch {
print("Error loading audio files into sampler")
}


micMixer = AKMixer(mic)

micBooster = AKBooster(micMixer)
micBooster.gain = 0.0


AudioKit.output = mixer

AKSettings.playbackWhileMuted = true
AKSettings.defaultToSpeaker = true
AKSettings.sampleRate = 44100

do {
print("Attempting to start AudioKit")
try AudioKit.start()
} catch {
AKLog("AudioKit did not start!")
}
}

func playTestSample() {
// You hear the sample and a continuous sine wave starts playing through the samplerMixer
try? sampler.play(noteNumber: 60, velocity: 90, channel: 1)
}
}

最佳答案

哇哦。我相信我已经找到了解决方案。也许它会帮助别人?

似乎在 AudioKit.start() 之后将文件加载到采样器中可以修复恐怖的正弦波!

//..
do {
print("Attempting to start AudioKit")
try AudioKit.start()
} catch {
AKLog("AudioKit did not start!")
}


do {
let woodblock = try AKAudioFile(readFileName: RhythmGameConfig.woodblockSoundName)

try sampler.loadAudioFiles([woodblock])

} catch {
print("Error loading audio files into sampler")
}

关于ios - 存在 AKMicrophone 时来自 AKMIDISampler 的连续正弦波,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53563255/

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