問題タブ [avaudiofile]

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 に答える
1137 参照

ios8 - AVAudioEngine の時間管理と AVAudioPlayerNode のコールバックが正しくない

iOS8 の新しいオーディオ エンジンに重大な問題があります。AVAudioPlayer で構築されたアプリケーションがあり、新しいアーキテクチャに移行する方法を見つけようとしていますが、次の問題にぶつかりました (これは深刻で基本的な障害であることに同意していただけると思います)。 :

私のヘッダーファイル:

私のmファイル(viewDidLoad内):

上記のコードは、エンジンとノードを初期化し、使用しているファイルの再生を開始します。最初に音楽ファイルの長さを出力し、次に再生終了後、コールバック関数でプレーヤーの現在の時間を出力します。これらの 2 つの値は同じか、最悪の場合、互いに非常に近いはずですが、そうではありません。これら 2 つの値の差は非常に大きくなります。たとえば、

私は何か間違ったことをしていますか?これはかなり簡単なはずです。さまざまなファイル形式、ファイル長、数十の音楽ファイルを試してみましたが、違いは常に約 1 秒未満です。

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

swift - Swift Playground の AVAudioFile で「エラー -54」が発生する

Swift Playground で AVAudioPlayer を使って遊ぶことにしました。次のコードは、通常の Swift プロジェクトでは問題なく動作しますが、プレイグラウンド (アシスタント エディター) で実行すると次のエラーが返されます。

2015-05-12 00:08:04.374 AVAudioFile[2481:141158] 00:08:04.374 エラー: AVAudioFile.mm:266: AVAudioFileImpl: エラー -54

コードは次のとおりです。

エラー出力の出力には次のものがあります。

Error Domain=com.apple.coreaudio.avfaudio Code=-54 "The operation could not be completed. (com.apple.coreaudio.avfaudio error -54.)" UserInfo=0x7fa8c0736f70 {failed call=ExtAudioFileOpenURL((CFURLRef)fileURL , &_extAudioFile)}

プレイグラウンドでのみエラーになる理由がわかりません。アイデアはありますか?

ありがとう!

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

ios - iOS8 で廃止された AudioFileReadPackets

iOS 8 で廃止されたため、AudioFileReadPackets で奇妙な動作が発生しています。どのように置き換えればよいですか?

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

ios - Tap On AudioEngine OutputNode のインストール方法

AudioEngine OutputNode処理されたオーディオをToから保存しようとしていますAVAudioFile

今まで私が知っていることは、タップを使用して実行できることですが、方法がわかりません.

Tap On のインストール方法を教えてAudioEngine OutputNodeください。

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

ios - AVAudioEngine を使用して圧縮ファイルに録音する

AVAudioEngine を使用して、マイクからの音をさまざまな効果音ファイルと一緒に AVAudioFile に録音しようとしています。

次のように AVAudioFile を作成します。

オーディオ エンジンの mainMixerNode にタップをインストールし、バッファをファイルに書き込みます。

self.engine.mainMixerNode.outputFormatForBus(0).settingsApple は、「バッファ形式はファイルの処理形式と一致する必要があるため、上記の AVAudioFile オブジェクトの作成時に outputFormatForBus: が使用された」と述べているため、オーディオ ファイルの作成時に使用しています。installTapOnBus のドキュメントでは、「指定されたバスのタップと接続の形式 (非 nil の場合) は同一である必要があります」

ただし、これにより、圧縮されていない非常に大きなオーディオ ファイルが生成されます。ファイルを .m4a として保存したいのですが、使用したい設定を指定する場所がわかりません:

オーディオ ファイルの作成時に代わりにこれらの設定を渡すと、録音時にアプリがクラッシュします。

これを解決する方法に関する提案やアイデアはありますか?

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

ios - session:didReceiveFile: オーディオ ファイルを再生していません (iPhone から Watch へ)

iPhone で録音したオーディオ ファイルを Watch スピーカーから再生する際に問題が発生しています。

iPhoneからWatchに送信するためのコードを次に示します。

iPhoneからWatchで受信するためのコードは次のとおりです。

iOS 9.2 ウォッチOS 2.0

誰かがこれを経験したことがありますか、またはこれを機能させることができましたか?

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

ios - モノ AVAudioPCMBuffer をステレオ AVAudioFile に書き込む

AVAudioEngine を使用してオーディオを録音し、サウンド ファイルとして保存しています。

ユーザーは音声ファイルのインポートを選択でき、必要に応じてこのファイルの最後に録音を続けることができます。インポートしたファイルからオーディオ データを取得して AVAudioPCMBuffer に読み込み、それを録音先のファイルに書き込みます。インポートされたファイルがステレオの場合、これはうまく機能します (書き込んでいるファイルもステレオであるため)。しかし、インポートされたファイルがモノラルの場合、AVAudioPCMBuffer をファイルに書き込もうとすると、単にチャンネル数が一致しないためにコードがクラッシュします。

processingFormat をステレオに設定して、モノ AVAudioPCMBuffer を av AVAudioFile に読み込むことは可能ですか? バッファをステレオに変換できますか?

インポートしたファイルからオーディオ バッファを取得する方法の例を次に示します。

そして、これは私が AVAudioEngine を使用して書き込んでいる AVAudioFile を作成する場所です:

最後に、オーディオ バッファをファイルに書き込む方法は次のとおりです。

オーディオをステレオに変換すると、すべてが機能します。