ここにその話があります。UIアニメーションの遅れを伴わずに連続した短い音を再生
ボタンをタップすると、timer.setEventHandler
はアニメーション(125ミリ秒ごとにUIに10個の円を追加するようなもの)をレンダリングします。アニメーションはスムーズに実行されています。
今、サークルが追加されるたびに(ビープ音のように音が鳴りますが、MP3ファイルから音が鳴ります)追加します。アニメーションが滑らかであるが、音が均等に再生されない
AudioServicesPlaySystemSound
:私は2つのアプローチを試してみました。少なくともサウンドの再生は、UIにまったく遅れません。
使用
AVAudioPlay
私はシングルトンクラスでAVAudioPlayインスタンスを作成し、すべての時間は、アニメーション・ロジックは、音が別のスレッドで演奏されていることを確認するためにDispatchedQueueで
play()
を呼び出します。ボタンを初めて押すと、アニメーションが遅れます。ただし、アニメーションが終了してすぐにボタンを2秒以内にもう一度押すと、アニメーションとサウンドが完全に再生されます。しかし、最後の音が鳴ってから10秒ほど待つと、アニメーションが遅れて音が鳴り響きます。
それがアクティブでないときのiOSは、(私はiPadのエア2にiOSの10を実行しています)、実際に睡眠にAVAudioPlayインスタンスを置く場合、私は疑問に思って。最後のサウンドが再生されてから短時間(2秒)以内にボタンを押さないと、AVAudioPlayスレッドは常にアクティブになります。
AVAudioPlayerです。そして、尋ねる前に検索してみてください。これは既にここで_lot_になっています。 「AVAudioPlayerの待ち時間」を検索します。あなたの質問は、例えば、http://stackoverflow.com/questions/14162805/playing-sound-effect-with-no-latency-in-objective-cの非常に近い複製です。 – matt
@matt Nope。投稿されたソリューションの中で私の場合はうまくいきません。 – zsong