問題タブ [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.
iphone - iPhone オーディオ フレームワーク
AVFoundation フレームワークは内部で AudioToolbox フレームワークと通信しますか? AudioToolbox はこれらすべてのサービスを保持しているため
- 音声変換サービス
- オーディオ ファイル サービス
- オーディオ ファイル ストリーム サービス
- オーディオ形式サービス
- Audio Queue サービス
- オーディオ セッション サービス
- Audio Unit Processing Graph サービス
- 拡張オーディオ ファイル サービス
- システム サウンド サービス
AVFoundationフレームワークがオーディオファイルを変換したい場合、どのようにしますか?
ありがとうございました。
iphone - この Audio Unit RemoteIO の初期化が iPhone では機能するのに、シミュレーターでは機能しないのはなぜですか?
Audio Unit サービスを使用して出力レンダリング コールバックをセットアップし、合成オーディオをミックスできるようにしています。私が持っているコードは、私が持っているデバイス (iPod Touch、iPhone 3G、および iPad) では完全に機能するように見えますが、シミュレーターでは機能しません。
シミュレーターでは、AudioUnitInitialise 関数が失敗し、-10851 の値を返します (Apple のドキュメントによると kAudioUnitErr_InvalidPropertyValue)。
これが私の初期化コードです..私がここで間違っていることを見るよりも、このAPIの経験が豊富な人はいますか?
XCode のバージョンは 3.2.2 (64 ビット) です。シミュレーターのバージョンは 3.2 です (ただし、3.1.3 のデバッグまたはリリースでも同じ問題が発生します)。
ありがとうございます!
iphone - コードを関数に変換する
みなさん、こんにちは。このコードを2つのパラメーターを持つ関数に変換する必要があります。この場合、最初のパラメーターはNewsで、2番目のパラメーターはaifでこれを実行できますか?
}
iphone - オーディオに最適なフレームワーク
そのアプリケーションでは、人間の声をNSTemporaryDirectory()のファイルに保存して再生しています。これまでAVAudioPlayerとAVAudioRecorderを使用してきましたが、しばらくすると同時に録音すると音が鳴ります。理由がわかりません。そして、私のアプリケーションはiPhone4でクラッシュします。
では、どのフレームワークを使用して録音を行うかによってピッチが変化し、再生できるか、すべてのiPhoneで機能する最も重要なフレームワークを提案してください。1.OpenAL2.コアオーディオ3.AudioToobox
iphone - Remoteio を AudioServicesPlaySystemSound と一緒に使用する
オーディオ再生用の AudioServicesPlaySystemSound 関数と組み合わせて、オーディオ録音用の remoteio を使用しようとしています。問題は、remoteio が実行されるたびに、再生音量が大幅に低下することです。最終的なミキシングが舞台裏で行われているように見えますが、この動作を変更する方法はありません。
remoteio の実装は、次のブログ http://atastypixel.com/blog/using-remoteio-audio-unit/に基づいています。
オーディオの再生には、次のようなコードを使用します
助けてくれてどうもありがとう
objective-c - Audio Toolbox を使用してループを再生できますか?
私のアプリでは AudioToolbox フレームワークを使用していますが、ループを再生する必要がありますか?
これは、同時に 2 つのタッチでゆっくり進む AVAudioplayer コードです。
ビューでdidload
IBAction でこれを呼び出す:
注意: すべてのボタンと AVAudioPlayer を保持しています
iphone - オーディオ処理:音量レベルで再生
アプリケーションバンドルからサウンドファイルを読み取り、コピーして、最大音量レベル(ゲイン値またはピークパワー、技術的な名前はわかりません)で再生してから、別のファイルとしてバンドルに書き込みます。また。
コピーと書き込みの部分を行いました。結果のファイルは入力ファイルと同じです。これを行うには、AudioToolboxフレームワークのAudioFileサービスのAudioFileReadBytes()関数とAudioFileWriteBytes()関数を使用します。
したがって、入力ファイルのバイトとそのオーディオデータ形式(kAudioFilePropertyDataFormatでAudioFileGetProperty()を使用)がありますが、元のファイルの最大音量レベルで再生する変数がこれらに見つかりません。
目的を明確にするために、元の音量レベルに比べて音量レベルを上げたり下げたりする別のサウンドファイルを作成しようとしているので、ユーザーやiOSによって設定されるシステムの音量レベルは気にしません。
私が言及したフレームワークでそれを行うことは可能ですか?そうでない場合、代替案はありますか?
ありがとう
編集:いくつかのオーディオの基本に関するサムの答えを見て、私は別の選択肢で質問を拡張することにしました。
AudioQueueサービスを使用して、既存のサウンドファイル(バンドルに含まれている)を別のファイルに録音し、録音フェーズ中に音量レベル(フレームワークを使用)で再生できますか?
更新:これが、入力ファイルの読み取りと出力の書き込みの方法です。以下のコードは、振幅値の「一部」のサウンドレベルを下げますが、ノイズが多くなります。興味深いことに、振幅値として0.5を選択すると、サウンドレベルが下がるのではなく増加しますが、振幅値として0.1を使用すると、サウンドが下がります。どちらの場合も、不快なノイズが発生します。アートが正規化について話しているのはそのためだと思いますが、正規化についてはわかりません。
ipad - AudioServicesPlaySystemSound が iPad デバイスで動作しない
私は最初の iPad アプリケーションを開発する初期段階にあり、簡単にするために、これまで AudioServicesPlaySystemSound と関連する関数を使用してサウンドを再生してきました。私のコードは、Apple の Metronome の例の SoundEffect クラスに基づいています。
具体的な症状としては、シミュレーターでは音が聞こえるが、デバイスでは聞こえないということですが、デバイス上の他のアプリケーションでは音が聞こえることを確認しています。AudioServicesCreateSystemSoundID は有効なサウンド識別子を返しているため、大文字と小文字が異なるサウンド ファイルの名前 ("sound.mp3" と "Sound.mp3" など) ほど単純ではありません。
関係のない理由で OpenAL などの別のライブラリに切り替える必要があるかもしれないことは認識していますが、ここで何が起こっているのか知りたいです。誰か提案はありますか?OSStatus 値などを取得するために呼び出すことができる関数はありますか?
* BUMP -- 過去数週間、他のプロジェクトに取り組んできましたが、今はこれに戻っています。回答をいただければ幸いです。ありがとう。
iphone - ExtAudioFileSeekとExtAudioFileWriteを同じファイルに一緒に
トラックの最後から操作されたバッファを取得し、それらを出力ファイルの最初に書き込むことで、オーディオを介した後処理パスを保存できる状況があります。
私はもともと、を使用して書き込みポインタをリセットすることでこれを実行できると考えていExtAudioFileSeek
ましたが、ドキュメントでこの行を見たときに実装しようとしていました
これで、書き込み用にファイルを閉じてから再度開くことができることがわかりましたが、プロセスはそれよりも少し複雑です。私が行っている操作の一部は、書き込みを行っているファイルにあるバッファーからの読み取りです。全体的なプロセスは次のようになります。
- 読み取ったファイルの最後からバッファを読み取ります
- 書き込みファイルの先頭からバッファを読み取ります
- バッファを処理します
- 手順2で読み取ったバッファを上書きして、書き込みファイルの先頭にバッファを書き戻します。
論理的には、これは1パスで問題なく実行できます。プログラム的に、データを破壊したり、効率を低下させたり(目標の反対)、宇宙を爆縮させたりすることなく、同じことをどのように達成できますか?
iphone - 拡張オーディオ ファイル サービスを使用して 2 つのファイルをミックス ダウンする
オーディオ ユニットを使用してカスタム オーディオ後処理を行っています。2 つのファイルをマージしていますが (以下のリンク)、出力に奇妙なノイズが発生しています。私は何を間違っていますか?
このステップの前に、2 つのファイル (workTrack1
とworkTrack2
) が適切な状態にあり、良好なサウンドであることを確認しました。プロセスでもエラーは発生しません。
バッファ処理コード:
ミックスダウン コード:
仮定
mixAudioFile1Ref
常により長いmixAudioFile2Ref
mixAudioFile2Ref
がバイトを使い果たした後、は次のようにoutputAudioFileRef
聞こえるはずです。mixAudioFile2Ref
予想されるサウンドは、トラックがループされたときに自己クロスフェードを生成するために、最初にフェードアウトの上にフェードインをミックスすることになっています。出力を聞いて、コードを見て、どこが間違っているか教えてください。
元のトーン音: http://cl.ly/2g2F2A3k1r3S36210V23
結果のトーン音: http://cl.ly/3q2w3S3Y0x0M3i2a1W3v