私は2つの機能を持つアプリを持っています。 1人はAKMetronome
を再生し、アプリがフォアグラウンドにないときにバックグラウンド再生を許可します。もう1つはAKMicrophone
を使用するチューナー機能で、アプリがフォアグラウンドにあるときのみアクティブにする必要があります。これらの機能は同時に使用することができます(チューナーがアクティブな間はメトロノームが点滅します)。AudioKit:AudioKit.stop()を呼び出さずにAKMicrophoneを無効にすることはできますか?
ホームボタンを押すと、メトロノームは(期待通りに)再生を続けます。しかし、チューナー用のアクティブなマイクも、他のすべてのアプリでデバイスの上部にあるbright red "recording"-style barを引き起こします。私はアプリが開いていないときにチューナーが機能する必要はありません。
ノードを無効にして、このバーが表示されないようにするには、AKMetronome
ノードの再生を中断しないでください。
ノー成功をすべて、次のことを試してみた:
- アプリのデリゲート
applicationWillResignActive()
方法でAudioKit.stop()
を呼び出します。録音バーは取り除かれますが、メトロノームは停止します。 applicationWillResignActive()
の間にAKMicrophone
ノードのstop()
を呼び出します。これで録音バーは削除されません。applicationWillResignActive()
の間にノードAKMicrophone
のstop()
とdisconnectOutput()
を呼び出します。これで録音バーも削除されません。
私はすべてapplicationWillResignActive
メソッド内で、チェーンからマイクノードを削除し、エンジンを再構築し、再起動、エンジン全体(すなわちAudioKit.stop()
)を殺すために必要があるかもしれないと思われます。しかし、それはAKMetronome
のテンポを中断するので、私はそれが来ないと思っています。
これは素晴らしいですね!私は少しこれを試してみて、それが動作するかどうかを確認します。ありがとう! –
面白い - これは遊び場とiOSシミュレータの両方で素晴らしいですが、実際のiOSデバイス(iPhone 7+、iOS 11.1)でテストするときには、周波数と振幅の「0.0」しか得られません。しかし、私は先に進み、問題のその部分が解決されているように見えるので、正しい答えに印を付けるでしょう。バグについてはGithubに関する問題も開いていきます。 –