問題タブ [avaudiosession]
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.
objective-c - iOS のバックグラウンド モードで中断されたオーディオ入力キューを再開できない
録音用に AudioQueue を使用して iOS アプリを作成しています。リニア PCM を取得するように構成された入力キューを作成し、このキューを指定すると、すべてが期待どおりに機能します。
割り込みを管理するために、AVAudioSession のデリゲート メソッドを実装して、割り込みの開始と終了をキャッチしました。メソッド endInterruption は次のようになります。
フォアグラウンドでアプリが中断された場合、すべて正常に動作します。中断がバックグラウンドで発生した場合、問題が発生します。オーディオ セッションをアクティブにすると、エラー!catが発生します。
指定されたオーディオ セッション カテゴリは、試行されたオーディオ操作に使用できません。たとえば、オーディオ セッション カテゴリを kAudioSessionCategory_AudioProcessing に設定して、オーディオを再生または録音しようとしました。
セッションをアクティブ化せずにキューを開始すると、エラー コード-12985が発生します。
その時点で、カテゴリはAVAudioSessionCategoryPlayAndRecordに設定され、モードはAVAudioSessionModeDefaultになります。
このエラー メッセージに関するドキュメントも、バックグラウンドで入力オーディオ キューを再起動できるかどうかもわかりませんでした。
ios - ミュートボタンはAVAudioPlayerをミュートしません
iPhoneアプリで.cafファイルをループ再生する必要があります。
AVAudioPlayerは有望に見えます。しかし、1つの問題があります。iPhoneのミュートボタンを押しても停止したりミュートしたりしません。
そして私は、iOS5でそのミュートボタンが押されているかどうかをプログラムで確認する方法がないことを理解しています。
したがって、私が知る必要があるのは、AVAudioPlayerまたはAVAudioSessionに関するいくつかのプロパティかもしれません。または、.cafファイルの再生をループするために、他のライブラリを検討する必要があるかもしれません。
何か案が?
objective-c - 音楽アプリや ITunesU のように、「再生中のコントロール」メニューにトラック タイトルを追加することはできますか?
私は、プレーヤーアプリを作成しています。「remoteControlReceivedWithEvent:」メソッドを実装し、このボタンで再生状態を変更できました (アップル ガイド)。しかし、「ミュージック」または「iTunes U」アプリから何かを再生すると、リモコンの下に曲のタイトルが表示されます。
プレーヤー アプリから自分のテキストを表示する方法はありますか?
前もって感謝します。
iphone - アプリに戻ってマルチタスクを行うと、アプリがミュートされることがあるのはなぜですか?
私のアプリ ( bit.ly/totoyaApp ) がフォアグラウンドになったら、次のように設定します。
バックグラウンドになると、次のようにリセットします。
すべてのデバイスでサウンドの出力/入力が適切に機能する必要があります。
しかし、アプリに戻ってマルチタスクを実行すると、ミュートされることがあり、オーディオ出力がまったく出力されません。マルチタスク時のみ (!)、特定のアプリからのみ (!)。実行中のアプリを閉じて、もう一度起動すると、すべて正常に動作します。
似たような経験はありますか?ここで一体何が起こっているのですか?
iphone - SoloAmbient と applicationDidEnterBackground
アプリケーションがバックグラウンドに移行した後、SoloAmbient を設定したい (iPhone のすべての音楽を無音にしたい)。
こんなコード書いたけど動かない
MyAppDelegate.h
MyAppDelegate.m
実際には、アプリはログ「audioSession: NSOSStatusErrorDomain 560161140 (null)」を送信し、iPhone の音楽 (iPod または他のアプリから) はまだ再生されています。
修正方法は?アプリがバックグラウンドに移動したときに、SoloAmbient を開いてすべてを無音にする方法を教えてください。たぶん、音楽を眠らせる機会は他にありますか?
ios - iOS - バックグラウンドで AVAudioPlayer が次の曲に進まない
だから私は、ユーザーが漫画本をめくることができる間にたくさんの曲を再生するアプリを持っています. 私は AVAudioPlayer を使用しており、設定された順序で曲を再生するように設定しています。そのため、1 つの曲が終了すると、次の曲が再生されます。これは、アプリが開いているときに問題なく機能します。この問題は、アプリがバックグラウンドにあるときに発生します。アプリをバックグラウンドで再生するように設定しましたが、問題なく動作します。そのため、ユーザーがホーム画面を押すと、音楽が再生され続けます。問題は曲の終了時に発生し、アプリを開いたときと同じように次の曲を再生することを想定しています。代わりに、何も起こりません。私の NSLog ステートメントによると、正しいメソッドが呼び出されていますが、何も起こりません。これが私のコードです:
上記は、再生中の曲を認識し、次に正しい曲を設定するコードです。次に、プレーヤーを設定する別のメソッドをトリガーします。
これは最善の方法ではないと思いますが、アプリがフォアグラウンド状態の場合はうまく機能します。私はドキュメントを調べてきましたが、この問題の原因を見つけることができないようです. 誰かが私のアプローチの誤りに気付くことができるかもしれないと思っていました。前に言ったように、triggerSong メソッドの 2 つの NSLog が呼び出されているため、AVAudioPlayer (プレーヤー) が呼び出されていない理由がわかりません。
また、info.plistに正しい設定があり、viewDidLoadにこれがあります:
洞察をありがとう。とても有難い。
iphone - iOS でのバックグラウンド ミュージックの一時停止/ミュート
テキスト読み上げを使用して、時折ユーザーに口頭で合図を出すアプリがあります。現在、別のアプリで再生中の音楽に TTS がミックスされるように設定しました。口頭での合図の再生中に、別のアプリで再生中の音楽を一時的に一時停止/ミュートする方法はありますか?
objective-c - 画面がロックされている間、AVAudioRecorder が記録しない
私はしばらくこれを克服しようとしました。音声を録音しようとしていますが、画面がロックされている間、AVAudioRecorder は録音しません。画面のロックが解除されると録音は続行されますが、画面がロックされたときに録音された音声は永久に失われます。私がやっていることには何も問題はありません:
何かアイデアはありますか?
iphone - ボリュームの変更は、アプリケーションのボリュームを変更しません
以下のコードを使用し、アプリを通じてこのコードを何度も呼び出して、ボタンとアプリケーションのサウンドを再生しています。現在、デバイスの音量コントロールが内部アプリケーションの音量を変更しないという問題が発生しています。音量を完全にオフにしても、アプリケーションはサウンドを再生します。ハードウェアの音量コントロールが変更されたことを検出し、それに応じて音量を更新する方法はありますか? オーディオ セッションが新しく設定されたボリュームに応答するようにするだけで、スライダーを更新したくはありません。事前にどうもありがとうございました。
iphone - バックグラウンドでAVQueuePlayerを起動します
インターネットからオーディオファイルを再生するAVQueuePlayerがあります。アプリをバックグラウンドで実行できるようになっており、それを正常に実行します(バックグラウンドで再生し、バックグラウンドで新しいファイルを非同期にフェッチします)。
アプリをバックグラウンドに移動する前にAVQueuePlayerの再生を開始できるようにすると、すべて問題ありません。アプリの再生を開始するには、実際に再生する正しいファイルを取得する前に、いくつかのサービスと通信する必要があります。
再生が開始される数秒前にアプリをバックグラウンドに移動すると、AVQueuePlayerは再生されません。
バックグラウンドでサービスと通信できるようにするために、私は常に最初にbeginBackgroundTaskWithExpirationHandlerを介してバックグラウンドタスクの許可を求めます。
ログを見ると、すべてのサービスが正常に完了し(バックグラウンドタスクのアクセス許可が機能するため)、AVQueuePlayerが複数のAVPlayerItemで正しく初期化されていることがわかりますが、再生は開始されません。AVQueuePlayer.currentItem.statusもAVPlayerStatusReadyToPlayに到達することはありません。
AVQueuePlayerとのすべての対話がメインスレッドで発生することを確認しました。
私は困惑しています。設定やバックグラウンドタスクの権限に関係なく、アプリがバックグラウンドにある場合、AVQueuePlayerは起動しません。
以前はAudioQueueServicesで同様のことを行うことができましたが、今回はAVQueuePlayerとよりシンプルなAPIで十分であることを期待していましたが、AudioQueueServicesなどに戻る必要があるようです。