問題タブ [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 - アプリがバックグラウンドにある間に中断後にコードの実行を再開する
これに対する答えを得るためにSOや他のWebサイトで何日も調査しましたが、運がありませんでした.
基本的に、私が自分自身に設定した課題は、ユーザーがどこにいても (フォアグラウンドまたはバックグラウンド) 鳴る iOS 用の目覚まし時計アプリを作成することです。これは、AVAudioPlayer インスタンスを使用して、ユーザーがアラームを設定したときに空のサウンド ファイルの再生を開始して、アプリがバックグラウンドで実行され続けるようにすることで、既に達成しています。アラームが鳴る時間になると (つまり、NSTimer が起動されると)、既に開始されて再生の準備ができている 2 番目のプレーヤーが、ユーザーが目覚める着信音の再生を開始します。
また、AVAudioSessionDelegate メソッドの beginInterruption と endInterruptionWithFlags を実装することで、通話、システム タイマー、または目覚まし時計による割り込みを処理することができました。バックグラウンド モードとフォアグラウンド モードの両方で動作しますが、最も奇妙なことが起こります。
中断が終了すると、AVAudioPlayer は再生を再開しますが、アプリを再びフォアグラウンドにしない限り、アプリで他のコードを実行することはできません。
この問題の根底にたどり着くために、私は以下に投稿しているより単純なプロジェクトを試しました。このアプリが行うことは、アプリに入るとすぐに、AVAudioPlayer クラスのインスタンスが特定のサウンドのループを開始することです。その後、バックグラウンドに移動すると、プレーヤーはサウンドをループし続けます。中断が発生するとプレーヤーを一時停止し、プレーヤーが終了したらディスパッチを使用して数秒待機してから、ファイルの再生を再開するコードを含むメソッド (void)playPlayer と (void)tester の 2 つのメソッドを呼び出します。は、中断の 5 秒後 (正確には 7 秒後) にプレーヤーを停止するように設定されたタイマーを含むメソッドです。私が両方に入れた NSLogs によって示されるように、両方のメソッドが呼び出されますが、タイマーが起動されることはなく、プレーヤーは無期限に再生を続けます。
.h ファイルのコードは次のとおりです。
.m ファイルのコードは次のとおりです。
それで、これは人々です。繰り返しますが、アプリがバックグラウンドにあるときに中断後にタイマーが起動されないのはなぜですか? applicationDidEnterBackground メソッドで何かを設定する必要がありますか?
事前にどうもありがとうございました!
iphone - iPhoneでネットワークの到達可能性を確認した後、アプリがクラッシュしますか?
オンライン音楽を再生する mpmovieplayercontroller とバックグラウンドで同じ音楽を再生する avaudiosession があります。ネットワークにアクセスせずに初めてアプリを起動すると、通常は「インターネット接続なし」と表示されます。インターネットに接続して再生しようとすると、エラーが表示されます
私のコードはここにあります
インターネットに接続した後、再生ボタンをクリックするとアプリがクラッシュするのですが、解決策はありますか?
avaudiorecorder - 1時間程度の長時間録音でavaudioの録音ファイルを小さくするには?
問題の説明:約 1 時間の時間間隔でオーディオ ファイルを録音すると、そのサイズが約 600MBになるので、サイズが大きすぎます。圧縮を行う理由は、ファイルを NSData に変換するときにそのファイルを保存するのに時間がかかるためです。そのため、その問題から抜け出す方法を教えてください.....:(
どんな提案でも大歓迎です...!
前もって感謝します.....!
iphone - MPMoviePlayerControllerにより、他のすべてのオーディオがソフトになります(MPの終了後)
いくつかのバックグラウンドミュージックを再生するアプリがあります。特定のボタンを押すと、ナビゲーションコントローラーを使用して新しいビューがプッシュされます。その新しいビューには、MPMoviePlayerControllerと共有AudioSessionを持つAVCaptureSessionがあります。そのビューが却下された後、背景の音は以前に比べて本当に柔らかくなります。再生後に音量が抑えられる原因は何ですか?
ios - HttpLiveStreamingビデオを再生しているAVPlayerをミュートする
HTTPライブストリーミングビデオを再生しているAVPlayerのサウンドをミュートできるかどうか疑問に思いました。
ここで説明するAVPlayer の音量を設定するAppleの方法など、すでにいくつかのことを試しましたが、ローカルファイルに対してのみ機能します...(Appleのドキュメントの下部にあるメモを参照)。
この投稿で説明されている同様の方法も機能しません。
解決策はありますか?私は本当にデバイスのサウンドをミュートしたくありませんが、他のプレーヤーが独自のオーディオを持つことができる間、1つのビデオだけをミュートします(ユーザーはプレーヤー間でオーディオのバランスをとることができます)。
前もって感謝します。
ios - iOS で AVCaptureSession と AVAudioSession の競合を解決するにはどうすればよいですか?
ビュー コントローラーで AVCaptureSession を実行しようとしていますが、その中で、AVAudioSession を使用するライブラリから関数も呼び出しています。この特定のライブラリの関数を呼び出すと正確にクラッシュすることを除いて、デバッガーから多くの情報を取得できないようです。ライブラリは libpd です。
AVAudioSession を sharedInstance として呼び出します。libpd を次のように呼び出します。
ミキシングが有効になっていますが、念のため、再コンパイルして、初期化時に次のようにします。
しかし、運が悪い。ビューコントローラー内でlibpdへの呼び出しをviewWillAppearに移動しても機能しませんでした。ただし、viewcontroller から libpd を呼び出すコードを取り出し、didFinishLaunchingWithOptions 内のアプリ デリゲートに配置すると、正常に起動し、2 つのセッションがクラッシュすることなく共存しているように見えます。
AVCaptureSession とミキシングについて何か不足していますか? 両方のセッションを共存させるにはどうすればよいですか? AVCapture を使用してオーディオをキャプチャするのではなく、カメラ入力のみを使用しているので、どうにかして両方を実行できるようにすべきではありませんか?
ios - AVAudioSession - 常にオーディオを再生していると思われる
iOS アプリでバックグラウンド オーディオを使用しています。アプリを起動するとオーディオは再生されませんが、ステータス バーには再生アイコンが表示され、リモコンには一時停止ボタンが表示されます。アプリは、私が既にオーディオを再生していると認識しているようです。
viewDidLoad
viewWillAppear
iOS が私がオーディオを再生していると考える理由はありますか? どうすればこれを修正できますか?
問題なくリモート イベントを受信しています。
ios - AVAudioRecorder と AVAudioSessionCategoryPlayAndRecord でマイク入力を無視する
複数の AVAudioPlayer と 1 つの AVAudioRecorder を使用して iPad アプリを開発しています。アイデアは、主要な AvAudioPlayer のサウンドをバックグラウンド ミュージックのように再生し、別のボタンに触れると他の AVAudioPlayer のサウンドを再生してバックグラウンド ミュージックとミックスすることです。ミックスされた音楽は、AVAudioRecorder によって録音されます。
そのために、カテゴリ AVAudioSessionCategoryPlayAndRecord を使用して AVAudioSession を実装し、次の設定で AVAudioRecorder オブジェクトを作成します。
すべて正常に動作しますが、マイクの入力も記録されており、私には問題ありません。
質問は、録音プロセスでマイク入力を無視/交換/削除するにはどうすればよいですか?
私は長い間 Google で検索し、AVAudioSession のカテゴリとモード、AVAudioRecorder の設定について Apple のドキュメントを検索しましたが、何もうまくいきません。
マイクのミュートも検索しますが、iOS デバイスではできないことを読みました。
あなたの助けを前もって感謝し、英語を書く私の過ちをお詫びします.
objective-c - ミュート スイッチが有効になっているときに iOS でサウンドを再生する方法
重複の可能性:
サイレントモードでもiPhoneでサウンドを再生する
短いサウンド (タイマーの完了を示す) を再生しようとしており、システム サウンドとして実装しました。私のアプリはタイマーなので、ミュートスイッチが有効になっていても音が聞こえるようにしたいです。
オーディオ セッション カテゴリを「AVAudioSessionCategoryPlayback」に変更しようとしましたが、うまくいきませんでした。ある