問題タブ [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 - do/catch でラップされているにもかかわらず、AVAudioEngine.start() でクラッシュする
AVAudioEngine
に接続して(再)開始する次のコードがありますAVAudioEngineConfigurationChangeNotification
:
self.engine は次のように定義されます
ただし、Crashlytics を介してクラッシュ レポートを頻繁に受け取ります。
致命的な例外: com.apple.coreaudio.avfaudio エラー 561015905
を含む行にtry self.engine.start()
.
561015905 はAVAudioSessionErrorCodeCannotStartPlaying
、私が理解していることから、これは例外ではなくエラーコードである必要があり、上記のコードのNSError
空白でキャッチする必要があります。catch
それでも、その時点でアプリがクラッシュするようです。私は何が欠けていますか?
このエラーが発生する可能性があるバックグラウンドでアプリが起動する状況があることは知っていますdo/catch
。
ios - 短いファイルのみを生成するオーディオ エンジンにインストールされたタップ
私は、ユーザーがオーディオを録音し、ピッチを変更しながら再生し、別のファイルとして行ったことを記録できるアプリに取り組んでいます。
コードは機能しているように見えますが、新しいファイルの持続時間はわずか 0.37 秒 (元の 5 秒) です。バッファーから書き込むと、それ自体が保存され続けるため、最後のセグメントだけが残っていると思います。これが私の問題である場合、上書きする代わりにファイルを追加するにはどうすればよいですか?
デュレーションが 0.0 のファイルを作成する更新されたコード:
swift - iPhoneから出る音声を録音することはできますか?
ユーザーが一種の吹き替えを作成できるアプリに取り組んでいます。再生中のオーディオ ファイルがあり、ユーザーは特定の瞬間にタップしてサウンドを挿入できます (検閲ボタンのようなものです)。最終製品をキャプチャする方法を考えています。
iPhone から直接オーディオをキャプチャするのが最も簡単な方法のように思えます。ユーザーは完成した製品を製造時にすでに聞いているからです。ただし、これを行う方法については何も見つかりません。不可能な場合、何か提案はありますか?
ios - installTapOnBus クロージャー内からクラス プロパティにアクセスする
installTapOnBus
コンソールを正常に更新する非常に単純なクロージャーがありますが、UI 要素は更新しません。コードは次のとおりです。
self
おそらく、クロージャーに弱い参照を送信する必要がありますが、構文がわかりません。UI 要素を更新する方法についてのフィードバックやアイデアをお待ちしております。読んでくれてありがとう。
macos - ビデオの再生に AVAudioEngine を使用する
私は Swift と OSX を初めて使用するので、これがばかげた質問である場合は申し訳ありません。スライダーを使用して、再生中にユーザーがビデオのサウンドトラックをピッチシフト(つまり、オーディオ周波数を変更)できるビデオプレーヤーを作成しようとしています。
AVAudioEngine (このチュートリアルhttps://www.robotlovesyou.com/mixing-between-effects-with-avfoundation/に基づく) を使用してオーディオに対してこれを行う方法を理解しました。また、ビデオを再生する方法も理解しました。 .
ただし、AvAudioEngine をビデオ トラックのオーディオに適用することに行き詰まっています (.mp4 を試していますが、これを任意の形式で動作させたいと考えています)。
これを行う方法はありますか?または、そうでない場合、オーディオサウンドトラックをリアルタイムでピッチシフトするという私の本当の目標を達成する別の方法はありますか (ビデオの再生中に)?
どうもありがとう
ios - モノ AVAudioPCMBuffer をステレオ AVAudioFile に書き込む
AVAudioEngine を使用してオーディオを録音し、サウンド ファイルとして保存しています。
ユーザーは音声ファイルのインポートを選択でき、必要に応じてこのファイルの最後に録音を続けることができます。インポートしたファイルからオーディオ データを取得して AVAudioPCMBuffer に読み込み、それを録音先のファイルに書き込みます。インポートされたファイルがステレオの場合、これはうまく機能します (書き込んでいるファイルもステレオであるため)。しかし、インポートされたファイルがモノラルの場合、AVAudioPCMBuffer をファイルに書き込もうとすると、単にチャンネル数が一致しないためにコードがクラッシュします。
processingFormat をステレオに設定して、モノ AVAudioPCMBuffer を av AVAudioFile に読み込むことは可能ですか? バッファをステレオに変換できますか?
インポートしたファイルからオーディオ バッファを取得する方法の例を次に示します。
そして、これは私が AVAudioEngine を使用して書き込んでいる AVAudioFile を作成する場所です:
最後に、オーディオ バッファをファイルに書き込む方法は次のとおりです。
オーディオをステレオに変換すると、すべてが機能します。