問題タブ [audiotoolbox]
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 - AirPlayのオーディオ出力ルート
調べましたが、オーディオ出力ルートにアクセスする方法が見つからないため、AirPlay経由でオーディオが出ているかどうかを検出できます。
これは私がiOS5.0のドキュメントで見つけたものです
討論
これらの文字列は、kAudioSession_AudioRouteKey_Outputs配列に関連付けられたディクショナリのkAudioSession_AudioRouteKey_Typeキーの値として使用されます。
kAudioSession_AudioRouteKey_Outputs配列にアクセスする方法が見つかりません。
ありがとう
iphone - AudioToolBox が一部のデバイスで再生されない
audiotoolbox フレームワークを使用して短い mp3 ファイルを再生する 2 つのアプリケーションがあります。展開ターゲットは: 4.0 であり、ベース SDK は: iOS 5.0 SDK です。
私は iOS 5.0 を搭載した iPhone 4 と iOS 5.0 を搭載した iPhone 3GS を持っています。どちらも音を奏でています。iOS 4.3 を搭載した iPad を持っている私の友人は、どのサウンドも再生できません。また、iOS 4.2 を搭載した iPhone 4 を使用している別の友人も同様にサウンドを再生できません。iOS に問題があるように見えますが、再生されない本当の理由は何なのか、私にはまったくわかりません。
ファイルを再生するためのコードの例を次に示します。
H. ファイル (関連するコードのみ):
M. ファイル (関連するコードのみ):
iphone - AudioToolbox は、アプリの起動時に音量を下げます
私のアプリでは、iSpeech SDK を使用できるように AudioToolbox フレームワークを使用しています。音楽が (バックグラウンドで、Apple ミュージック アプリから) 再生されている場合、アプリが起動すると、音楽は一瞬 (0.5 秒) スキップ (再生が完全に停止) した後、音量を下げて再開します。なぜこれが起こっているのかはわかりませんが、Google はそれについて何も言いませんでした。誰もこのような問題を経験しましたか? ありがとう!
iphone - プラグが抜かれたヘッドホンの検出 - Monotouch
Monotouch でヘッドホンが抜かれているかどうかを検出する方法はありますか? メソッドを探していますAudioSessionAddPropertyListener
が、見つかりません。このメソッドは何を移植しましたか?
Apple のドキュメントは次のとおりです。
これを行う方法のコードを誰かが見たい場合は、次の操作を実行できます。
objective-c - iPadドラムコンピュータータッチ->オーディオレイテンシー
ライブ音楽と一緒に(ステージ上または寝室で)再生できるiPad用のドラムコンピューターアプリを作成しました。セットアップは非常に基本的です。ボタンの1つを押すと、対応するサンプルが再生されます。すべてが非常にスムーズに機能しますが、残念ながら、指を下に置いてからサウンドが再生されるまでの間に、(煩わしいとはいえ)わずかな遅延があるように見えます。レイテンシーの量を(耳で)測定しようとしましたが、0.05〜0.1秒のようです。
オーディオ再生は、AudioToolboxフレームワーク(拡張オーディオファイルサービス、Audio Units)を使用して実装されています。サウンドは、デバイスに保存されているファイルからストリーミングされ、異なるサウンドバンク間のロード時間を防ぎます。サンプルは生のwav形式(線形PCM、16ビットリトルエンディアン符号付き整数、2チャネル、44100 Hz)であり、私が理解している限り、処理が最も速いはずです(mp3のように圧縮されたものとは対照的です)。
ボタンを押してから(UIButtonタッチイベント)、サンプルの最初のフレームがミキサーに配信されるまでの時間を測定しました(再生コールバックを介して)。非常に安定しており、0.02〜0.03秒です。私にはこれはかなり速いように見えますが、十分に速くないかもしれません。
それが問題なのか、それともタッチイベントの配信の遅延のようなものなのか。
アップデート:
Tillが提案したように、サンプルの読み込みを書き直しました。これらはすべてメモリにプリロードされるようになったため、ディスクIOは問題ではなくなりました。その上、私はエコー効果のためにかなりのmemcpyを実行していましたが、それを無効にしました。後でリンクリストのような解決策で修正します。
これにより待ち時間は短縮されますが、ボタンを押した->再生は0.005〜0.02秒の間で測定されます(ただし、多くの場合、0.02秒のようになります)。これはまだ目立ちます。これは、再生コールバックのバッファサイズ(現在は1024バイト)が原因である可能性があると考えています。
それを行う方法について何かアイデアはありますか?kAudioUnitProperty_MaximumFramesPerSliceの設定が機能していないようです。
iphone - ミリ秒単位での performSelectorOnMainThread の使用に関する問題
UIView にリアルタイム音の振幅をグラフで表示したい。
サウンドのサンプルレートを 1 秒間に 1000 に設定しました。
そして、グラフを更新するには、私はこれが好きでした。これはミリ秒ごとに呼び出されます。
updateGraph の中はこんな感じです。
しかし、グラフは斜めに描画されます。
http://achievstar.tistory.com/234 (私はこのサイトを初めて使用したため、写真をアップロードできませんでした)
(私は推測します) 「waitUntilDone:NO」が原因です。
iphone 4S も iPad2 も 1000 の速度に追いつけませんでした。
「waitUntilDone」も「YES」にしてみました。それは正しく描き、
http://achievstar.tistory.com/234 (下図参照)
また、1000台のレートにデバイスが追いつかず、
このように、グラフ化速度は遅かったです。
グラフをより良く修正する方法はありますか?
私は本当に良い解決策を見つけることさえできなかったので、ここに在庫があります。
codec - Apple API を使用してオーディオ ファイル内のコーデックを検索する
Apple API (AudioToolbox または Quicktime) を使用してオーディオ ファイルのコーデック/コンテナを見つける方法はありますか?
iphone - __bridge を使用した ARC での AudioServicesAddSystemSoundCompletion
タイトルが誤解を招きすぎないことを願っています... :)
システム サウンドを再生し、SoundCompletion-Callback を次のように追加します。
«self» は単純な NSObject ですが、
完了コールバックで、再生ルーチンを再度呼び出そうとします。
__bridge_transfer と __bridge_retained をキャストに追加する必要がありました。そうしないと、エラー、クラッシュ、またはその他の予期しない動作が発生します。
しかし、それにもかかわらず、すべてが機能しません。
再生するサウンドを NSMutableArray に保存し、配列の最初のエントリを取得して再生し、サウンドの補完を追加して、何かが起こることを願っています。しかし、保持されたすべての転送を使用すると、NSMutableArray は 2 回目の呼び出しで空になります...
コードは次のとおりです。
[編集] - 私自身の質問に答える:
自分でそれを見つけるのはいつもいいです:)
結局のところ、私はほとんどそこにいました。
コールバックをセットアップするための呼び出しは次のとおりです。
次に、コールバック関数で次のようにします。
そして、それは動作します...
iphone - アプリに関連するデバイスのサウンドコントロール
私のアプリにはいくつかのサウンドがあります。これらのサウンドを使用するには、AVFoundation、MediaPlayer、AudioToolboxフレームワークを使用しました。アプリケーションはデバイスで正常に実行されています。しかし、私が直面している問題は、デバイスの音量を増減したときにアプリの音量が影響を受けないことです。デバイスの音量を制御してアプリの音量を制御したいと思います。誰かが私にこれを行う方法を教えてもらえますか?助けてください。前もって感謝します。
cocoa - AVFoundation / CoreMedia / その他のフレームワークを使用してビート / オンセットを検出する
(序文:これはスタック オーバーフローに関する私の最初のオーディオ関連の質問です。そのため、できる限りこれを言葉で表現しようとします。編集を歓迎します。)
ユーザーが音楽をループできるようにするアプリケーションを作成しています。現在、私たちのプロトタイプでは、ループの開始と終了を指定して、これらの「ループ マーカー」(UISliders として実装) を毎秒スナップすることができます。明らかに、音楽をループする場合、これを処理するには秒は非常に大雑把な方法なので、代わりにビートを使用したいと思います。
UISliders がスナップするビートをマークする以外は何もしたくありません。
loadMusic
メソッドに音声ファイルをフィードします。- ライブラリを介して実行して、ビートまたはそれらの間の間隔を検出します(おそらく)。
- その値をスライダーの
setNumberOfTickMarks:
メソッドにフィードします。 - 利益!
残念ながら、私が Google や SO 経由で見つけた結果のほとんどは、リミキサーが使用するような、はるかに高度なビート検出ライブラリをもたらしました。私の場合はやり過ぎです。
これは、CoreMedia、AVFoundation、または AudioToolbox で処理できるものですか? そうでない場合、これを処理できる他のライブラリはありますか? Apple のドキュメントに関する私の調査では、関連する結果のみが得られました... MIDI ファイルについてです。しかし、Apple 独自のソフトウェアには、 iMovie の snap-to-beats 機能など、このような機能があります。
この時点で、ガイダンス、コード、または要約は非常に役立ちます。
編集:もう少し掘り下げた後、私が探しているものの正しい用語はonset detectionです。