問題タブ [audioqueueservices]

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 投票する
2 に答える
3567 参照

objective-c - AVAssetReader から AudioQueueBuffer へ

現在、AVAssetReader からサンプルを取得して、iOS で AudioQueue を使用して再生できるかどうかを確認するための小さなテスト プロジェクトを行っています。

私はこれを読みました:(AudioQueueで未加工の非圧縮サウンドを再生します、音はありません)およびこれ:(AVAssetReaderを使用してiOSでデコードされたPCMサンプルを正しく読み取る方法-現在は正しくないデコード)、

どちらも実際に役に立ちました。読む前は、まったく音が出ませんでした。今、私は音を出していますが、オーディオは超高速で再生されています. これはオーディオ プログラミングへの私の最初の進出なので、どんな助けも大歓迎です。

このようにリーダーを初期化します。

そして、次のようにデータを取得します。

最終的に、次のように設定された Audio Queue に移動します。

したがって、キューに入れます

誰でも簡単に私がバカなところを指摘できるように、できるだけコードを含めるようにしました。そうは言っても、トラック リーダーの出力設定宣言または AudioQueue の実際の宣言 (送信するオーディオの種類をキューに記述する場所) のいずれかで問題が発生していると感じています。実際のところ、これらの数値 (パケットあたりのバイト数、パケットあたりのフレーム数、何を持っているか) を実際に生成する方法を数学的にはよく知りません。その説明は大歓迎です。事前に助けてくれてありがとう。

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

iphone - iOS でのオーディオ録音

iOS で多くのオーディオ関連の作業を行う必要があるプロジェクトに取り組み始めたところです。

オーディオの仕事をするのはこれが初めてで、どうすればいいのかまったくわかりません。そのため、私はドキュメントをグーグルで検索し、主に Apple ドキュメントに依存していました。まず、ドキュメントが非常に紛らわしく、誤解を招くことが多いことを述べておかなければなりません。

とにかく、録音をテストするために、AVAudioSession と AVAudioRecorder を使用しました。私が理解していることから、これらは単純な録音と再生には問題ありません。ですから、もっと複雑なことをすることに関して私が持っているいくつかの質問があります:

  • 録音中にオーディオをリアルタイムで処理したい場合、Audio Queue サービスを使用する必要がありますか?
  • Audio Queue Services 以外にどのようなオプションがありますか?
  • オーディオ ユニットとは

私は実際に Apple の Audio Queue Services プログラミング ガイドを入手し、録音用の Audio Queue を書き始めました。Audio Queue サービス ガイド (PDF の 19 ページ) の「図」は、AAC コーデックを使用して録音が行われていることを示しています。しかし、いくつかの不満と多くの時間を無駄にした後、iOS では AAC 録音が利用できないことがわかりました - 「Core Audio Essentials」のセクション「Core Audio Plug-ins: Audio Units and Codecs」。

それは私の別の2つの質問に私をもたらします:

  • Apple Lossless、iLBC、IMA/ADPCM、Linear PCM、uLaw/aLaw を考えると、録音に適したフォーマットは何ですか? 誰かが参照できるチャートはどこかにありますか?
  • また、オーディオ キューを使用して MPEG4AAC (.m4a) の録音ができない場合、AVAudioRecorder を使用して MPEG4AAC (.m4a) を録音できるのはなぜですか?

これについて私を助けてくれてありがとう。リンク、指示、および/または知恵の言葉に感謝します。

ありがとう、そして乾杯!

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

iphone - マイクを除くiphoneのスピーカーからの音声出力のみを録音する

iPhoneスピーカーからの音を録音しようとしています。それはできますが、録音された出力でマイク入力を避けることができません。さまざまな Web サイトで入手できるサンプル コードを試してみましたが、うまくいきませんでした。

私が使用したサンプルは、オーディオ ユニットで録音を行います。マイク入力ボリュームをゼロに設定するオーディオ ユニットのプロパティがあるかどうかを知る必要があります。その上で、Audio Queueサービスが私のためにできることを他の投稿から知りました。Audio Queue サービスの実装のサンプル コードを教えてください。スピーカーに入力として送信する前に、データを別のオーディオ ファイルに書き込む方法があるかどうかを知る必要があります。

前もって感謝します

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

objective-c - iPhone でのオーディオ ミキシング : アドバイスが必要

アプリでオーディオを再生するために AudioQueue Service を使用しています。複数のオーディオ ファイルを一緒に再生する必要があります。私が今やっていることは、ファイルを再生するのに必要なだけの Audio Queue を作成することです。つまり、2 つのオーディオ ファイルに対して 2 つのオーディオ キューを作成し、それらを同時に開始して、オーディオ ミキシング効果を持たせます。

したがって、基本的には、これが「エレガントな」方法であることを知りたいと思います。

私は Audio Unit サービスとその MixerHost の例を認識していることに注意してください。そのオプションを提案しないでください。Audio Queue サービスのみを使用してサウンド ミキシングを行う必要があります。

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

objective-c - AC3 オーディオ FramesPerPacket サイズ

次の方法でAudio Queueを作成します

フォーマットが続く場所

作成は kAudioFormatUnsupportedDataFormatError で失敗します。0であることを確認しましmavfContext->streams[audio_index]->codec->frame_sizeた。ac3 media の mFramesPerPacket の標準値はありますか?

0 投票する
0 に答える
582 参照

objective-c - オーディオキューサービスバッファをバイト単位で読み取る方法は?

オーディオキューサービスを使用してマイク入力から音声を録音しています。

コールバック時:

ここで記録されたバッファを読みたいです。このようなものを取得することは可能ですか?

short [] buffer =?; //ここでオーディオバッファを何らかの構造に変換する必要があります(たとえば、short [])

次に、この構造のすべての要素を読みたいと思います。

要するに、記録時にバッファを処理する方法は?

ありがとう。

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

ios - EXC_BAD_ACCESS with AudioFileReadPackets

こちらの手順に従ってローカル オーディオ ファイルをシリアル化しようとしましたが、パケットを AudioQueBuffer に直接供給する代わりに、 GKSessionを使用して bluetooth/wifi 経由で送信したいと思います。EXC_BAD_ACCESS エラーが発生します。

コードを壊しているのはAudioFileReadPackets呼び出しであることは事実です。そのビットをコメントアウトすると正常に動作するからです

xcode 4.3を使用してゾンビのプロファイリングを試みましたが、クラッシュするだけです.コードがクラッシュしたときに壊れていて、gdbコンソールを使用してエラーコードを出力していたときに得た便利なデバッグのヒント..これは私が得たものです:

しかし、私はそれで多くを行うことができませんでした..何か助けはありますか?

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

ios - audioqueue が ffmpeg からデコードされた lpcm を再生すると、Audio Queue の経過時間がメディアのデュレーションを超えます

ffmpeg からデコードした lpcm データを audioqueue で再生すると、取得した経過時間AudioQueueGetCurrentTimeがメディアのデュレーションを超えます。しかし、同じメディアを AVFoundation フレームワークでデコードすると、経過時間はメディアの継続時間と等しくなるため、デコードせずに ffmpeg でメディアを読み取り、圧縮されたメディア データを audioqueue に送信すると、経過時間もメディアの継続時間と等しくなります。次のように設定されたAudioStreamBasicDescription :

AVFoundation からデコードしたデータで再生する場合、AudioStreamBasicDescriptionの設定は上記と同じです。私のテストでは、ffmpeg と AVFoundation でAudioTimeStamp.mSampleTime得られる値が異なり、ffmpeg の値は AVFoundation よりも大きいことがわかりました。AudioQueueGetCurrentTimeだから私はこれがどのように起こるか、そしてそれを修正する方法を知りたいですか?ありがとう!

0 投票する
2 に答える
736 参照

ios - iOS で録音された音声を Audio Queue セッションから削除する

Audio Queue を使用して iPhone のマイクからオーディオを録音し、無音が検出された場合 (10 秒間オーディオ入力がない場合) に録音を停止していますが、オーディオ ファイルから無音を破棄したいと考えています。

関数ではAudioInputCallback、無音を検出するために次のコードを使用しています:

しかし、これらのパケットを削除するにはどうすればよいでしょうか? または、より良いオプションはありますか?

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

iphone - iOSでCoreAudioを使用して同時に再生と録音

CoreAudioを使用して再生と録音を同時に行う必要があります。私は音楽アプリを作成していて、遅延の問題が発生しないため、これを行うためにAVFoundation API(AVAudioPlayer + AVAudioRecorder)を使用したくありません。

私はAppleからの次のソースコードを見ました:
aurioTouch
MixerHost

私はすでに次の投稿を調べました:
iOS:録音と再生を同時に行うためのサンプルコード
オーディオを同時に録音して再生する

CoreAudioを使用して同じことを同時に再生および録音する方法がまだわかりません。私がこれをどのように達成できるかについての指針は、非常に高く評価されます。サンプルソースコードへのポインタも非常に役立ちます。