検索

ホームページ  >  に質問  >  本文

objective-c - iOS AVAudioPlayer播放 AVAudioRecorder录音问题

如何保证只有1个Player在播放或者?

目前是,对于1个app内,很多个AVAudioPlayer Play.或者,AVAudioRecorder record .其他可以被打断?不需要我自己弄个全局变量保存正在播放的player.和正在录音的 recorder.
众所周知,我们的app播放可以打断别人的app的声音。

个人感觉打断也分为,直接中断和减弱别人的声音?不知道有没有

题外话,AVAudioPlayer的网络链接直接播放缓存问题

AVAudioPlayer 可以直接通过网址播放,但是这样看不到下载的进度,和最后要不要保留已经下好的。如果重新播放,都将进行重新下载。如网易云音乐就做的很好。

黄舟黄舟2772日前1039

全員に返信(1)返信します

  • 阿神

    阿神2017-04-17 17:15:21

    1. アプリ内の複数のプレーヤーで同時に再生できます。前に行った音楽再生がうまく処理されない場合、同時に 2 つの曲が再生されます o(╯□╰)o
    2.グローバル アプローチの利点は、多くの初期化と設定が必要ないため、時間を大幅に節約できることです
    3. AVAudioSessionCategoryPlayAndRecord のモードやその他の設定、および setCategory メソッドのその他の値を中断するかどうかはできません。各オプションが(このアプリと他のアプリを含む)割り込むかどうか、入力を占有するか、出力を占有するかなどを表を使用して説明しています。今は見つけられないので、私が使用した設定をいくつか紹介します。AVAudioSessionCategoryPlayAndRecord は再生中に頻繁に使用されます。これは、ハードウェアがミュートされていてもサウンドを防ぐことができないことを意味します。その他の設定については、Apple を参照してください。変更点が多すぎて説明するのが難しいです。次のようなコード:

    リーリー

    4. クラウド ミュージックに関しては、エクスペリエンスにいくつかの欠陥がある可能性があります。簡単な方法は次のとおりです。ストリーミング メディアの場合は、同時にダウンロードが進行します。がスタックすると、ローカル再生に CurrentTime が使用されます。遅延がない場合、ストリーミング メディアは常に再生されます。議論を始めるだけなら、もっと良い方法があるかもしれません。

    お役に立てば幸いです

    返事
    0
  • キャンセル返事