問題タブ [audiokit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
563 参照

ios - AudioKit: AudioKit.stop() を呼び出さずに AKMicrophone を無効にすることはできますか?

2 つの機能を備えたアプリを入手しました。1 つはAKMetronomeを再生し、アプリがフォアグラウンドにないときにバックグラウンド再生を許可します。もう 1 つは を使用するチューナー機能でAKMicrophone、アプリがフォアグラウンドにある場合にのみアクティブにする必要があります。これらの機能は同時に使用できます (チューナーがアクティブな間はメトロノーム ライトが点滅します)。

ホームボタンを押すと、メトロノームが鳴り続けます (予想どおり)。しかし、チューナー用のアクティブなマイクにより、他のすべてのアプリのデバイスの上部に真っ赤な「録音」スタイルのバーが表示されます. アプリが開いていないときにチューナーが機能する必要はありません。

AKMicrophoneこのバーが表示されないようにノードを無効にするにはどうすればよいAKMetronomeですか? また、ノードの再生は中断されません。

私は次のことを試しましたが、すべて成功しませんでした:

  • AudioKit.stop()アプリのデリゲートapplicationWillResignActive()メソッドを呼び出します。これにより、録音バーが削除されますが、メトロノームが停止します。
  • 中にノードを呼び出しstop()ています。これは録音バーを削除しません。AKMicrophoneapplicationWillResignActive()
  • 中のノードでstop()とを呼び出します。これにより、録音バーも削除されません。disconnectOutput()AKMicrophoneapplicationWillResignActive()

エンジン全体 (つまりAudioKit.stop()) を強制終了し、チェーンからマイク ノードを削除し、エンジンを再構築して再起動する必要があるのではないかと思います。すべてapplicationWillResignActiveメソッド内で行います。でもそれだと曲のテンポがAKMetronome崩れてしまうので、そうならないことを願っています。