問題タブ [avaudioengine]
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.
ios - AVAudioEngine を使用したループ シーケンサーの構築
iOS 8 の新しい AVAudioEngine 機能を使用して単純なドラム マシンを構築していますが、ループ メカニズムを構築する方法を考えるのに苦労しています。
これを行う唯一の方法は、回転バッファをAVAudioPlayerNodes
用意し、将来的にバッファの再生を常にスケジュールするある種のジョブを用意することです。これは正しいです?
ノード (およびそのバッファー) を 1 回だけスケジュールする必要があると便利です。次に、再生ヘッドがシーケンスの最後に到達するたびに、ノードはすべて最初から再生されreset
ます。play
空のサンプル バッファを作成し、シーケンサの最後にスケジュールし、その にアタッチして、後者を試しましたcompletionHandler
が、うまくいかないようです。
ios - AVAudioEngine AudioFile 時間管理
現在、スライダーで再生中の曲の再生時間を変更しようとしています。
私の問題は、スライダーに基づいて再生をスケジュールするための正確な AVAudioTime を取得することです
コード(スウィフト)は次のようになります。
スライダーの最大値には曲の長さが割り当てられているため、問題はありません。
曲は最初から再生されるだけです
コンソールでの ExampleTime の出力は次のとおりです。
私は何を間違っていますか?
ios8 - AVAudioEngine の時間管理と AVAudioPlayerNode のコールバックが正しくない
iOS8 の新しいオーディオ エンジンに重大な問題があります。AVAudioPlayer で構築されたアプリケーションがあり、新しいアーキテクチャに移行する方法を見つけようとしていますが、次の問題にぶつかりました (これは深刻で基本的な障害であることに同意していただけると思います)。 :
私のヘッダーファイル:
私のmファイル(viewDidLoad内):
上記のコードは、エンジンとノードを初期化し、使用しているファイルの再生を開始します。最初に音楽ファイルの長さを出力し、次に再生終了後、コールバック関数でプレーヤーの現在の時間を出力します。これらの 2 つの値は同じか、最悪の場合、互いに非常に近いはずですが、そうではありません。これら 2 つの値の差は非常に大きくなります。たとえば、
私は何か間違ったことをしていますか?これはかなり簡単なはずです。さまざまなファイル形式、ファイル長、数十の音楽ファイルを試してみましたが、違いは常に約 1 秒未満です。
ios - AVAudioEngine Input Mic Tap が Music PlayerNode に影響を与える - SWIFT
音楽の再生中にユーザーがマイクに向かって話すことができるアプリを作成しています (カラオケに似ています)。ミキサーに複数の入力が入るAudioEngineを使用して、これを機能させることができました。ただし、マイクを有効にすると、音楽の音質も失われます。音楽がマイクを通して支払われているように聞こえます。これは、マイクと音楽の AVAudioFormats が異なるためだと思いますが、次のマイク以外で動作する形式を見つけることができません。
私の音楽出力形式は単純です
マイクを無効にするとクリアに聞こえます。
AvAudioSessionCategory も使用していることに注意してください。
私は自分が間違っていることについてのアイデアを使い果たしました。どんな助けでも大歓迎です!
avaudiorecorder - 外部マイクから音楽を録音する AVAudioEngine
AVAudioEngine を使用して単純なグラフを設定し、デフォルトの入力ノードのデータを取得してヘッドフォン (オーディオ モニタリング) に配置しました。このアプリを実行すると、耳に直接リダイレクトされますが、問題が 1 つあります。外部マイクが iPad に接続されている場合でも、常に内蔵マイクの入力を使用します。
AVAudioSession は、入力が ([[AVAudioSession sharedInstance] currentRoute] を介して) 外部マイクを使用する必要があることを教えてくれます。AVAudioRecorder でオーディオを録音すると、その入力が使用されますが、AVAudioEngine は使用されず、内蔵マイクに固執します。私は何か間違ったことをしていますか?私が見逃した設定はありますか?
ios8 - AVAudioPlayerNode.scheduleFile() の completionHandler の呼び出しが早すぎます
iOS 8 で新しい AVAudioEngine を使用しようとしています。
サウンド ファイルの再生が完了する前に、 player.scheduleFile() の completionHandler が呼び出されているようです。
私は 5 秒の長さのサウンド ファイルを使用しています --println()
メッセージは、サウンドが終了する約 1 秒前に表示されます。
私は何か間違ったことをしていますか、それともcompletionHandlerの考え方を誤解していますか?
ありがとう!
ここにいくつかのコードがあります:
ios - マイク入力をプロットする際のレイテンシ
マイク入力を取得するために AVFoundation を使用し、マイク入力をプロットするために EZAudio を使用しています。コードを非常に基本的なものに落としましたが、それでもレイテンシーが発生します。これは奇妙なことです。これはコードです:
私は何か間違ったことをしていますか?