使用AVAudioUnitSampler时,我在iPhone(iOS 11)上遇到了一个奇怪的问题。
让我说我有一个用钢琴声音初始化的AVAudioUnitSampler。因此,每次连接或断开耳机时,我都会听到钢琴声 plus 添加了正弦波音,随着连接/断开耳机的次数越来越大。
所以,对我来说,感觉好像每次耳机插入/拔出时,一个新的音频单元采样器将内部连接到声音输出(并且,因为它是未初始化的,它只会产生正弦波音调)。
以下课程已经显示了问题。请注意,我使用AudioKit来处理MIDI信号并触发采样器(虽然在这一端看起来一切正常,即。class LoginActivity : BaseActivity(), LoginNavigator {
@Inject
lateinit var loginViewModel: LoginViewModel
override fun onCreate(savedInstanceState: Bundle?) {
performDependencyInjection()
super.onCreate(savedInstanceState)
val activityLoginBinding: ActivityLoginBinding = DataBindingUtil.setContentView<ActivityLoginBinding>(this, R.layout.activity_login)
activityLoginBinding.loginViewModel = loginViewModel
loginViewModel.mNavigator = this
}
和startNote()
被正确调用):
stopNote()
我已经分叉了AudioKit并用minimal project替换了HelloWorld示例,我可以用它来重现这个问题。
此外,我无法在iOS 9.3和11下在iPad上重现此问题,因此这可能是特定于iPhone的问题。
有关如何继续调试的任何帮助或建议都非常受欢迎,我对此非常困惑,而且我并不是iOS音频开发方面的专家。
谢谢!
答案 0 :(得分:2)
您可能会尝试检查引擎是否在handleRouteChange中启动,然后如果它不是刚启动它就会反弹。如果有效,请告诉我们。