[self playSoundFileNamed]を使用してサウンドを再生すると、サウンドが最初に再生されたときにアプリ全体が約1秒間フリーズし、それ以降は問題ありません。どうすればこれを取り除くことができますか?SpriteKitで初めて音を鳴らすときの遅延が小さい
5
A
答えて
15
私のゲームの設定方法では、私はこのようなことをして、うまくいくようです。
はIVARにSKAction *_ballsHitSound;
セットを持って、それまでのときの負荷シーンを
_ballsHitSound = [SKAction playSoundFileNamed:@"ballsCollide.mp3" waitForCompletion:NO];
その後、音が
[self runAction:_ballsHitSound];
0
playSoundFileNamedに行く準備ができている:アクションは、再生するために作られています小さなサウンド、ゲームのサウンドエフェクト、バックグラウンドミュージックなどの大きなサウンドファイルのようなものではありません。より大きなサウンドファイルを再生する予定がある場合は、AVAudioPlayerクラスを使用する方が効果的です。これにより、サウンド再生をより詳細に制御できます。
// Load and start background music
NSError *error;
NSURL * backgroundMusicURL = [[NSBundle mainBundle] URLForResource:@"background-music" withExtension:@"mp3"];
self.backgroundMusicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:backgroundMusicURL error:&error];
self.backgroundMusicPlayer.numberOfLoops = -1;
[self.backgroundMusicPlayer prepareToPlay];
[self.backgroundMusicPlayer play];
0
私はあなたが私はバックグラウンドスレッドでそれを再生しようとするので、メインスレッド上で、あなたのサウンドを再生する必要がないことだと思う: は、ここにそれを使用する方法のコードスニペットです。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {
// Play it here
});
関連する問題
- 1. Chromeで初めて大きな画像を描画する際の遅延が小さい
- 2. キーが押されたときに音を鳴らす
- 3. 音を鳴らしても録音が停止しないAvcapture
- 4. タブ音を鳴らすクリック
- 5. 録音中に音を鳴らす
- 6. ラムからアラーム音が鳴らなくなったとき
- 7. AJAXと一度音を鳴らす
- 8. スフィンクス音声認識遅延
- 9. 携帯でjavascriptで音を鳴らす
- 10. Silverlightでビープ音を鳴らす
- 11. LAN経由で音を鳴らす
- 12. blackberryアプリケーションで着信音を鳴らす
- 13. PyFaceでビープ音を鳴らすには?
- 14. C++で音を鳴らしていますか?
- 15. iOSデバイスで初めてアニメーションが遅い
- 16. iOSで音符や簡単な音を鳴らしていますか?
- 17. 音を鳴らすための基本的なOpenALコード
- 18. 遅延テーブルの初期化
- 19. アンドロイドスライドショーの遅延が遅い
- 20. OpenCVの小さな画面に遅延がありますか?
- 21. すべてのボタンで音を鳴らす(Android =
- 22. 最小遅延でリアルタイムオーディオストリームを再生
- 23. wp7で音やビープ音を鳴らすには?
- 24. セグ遅延を準備する。情報が遅延していますが、表示されています
- 25. Android Appボタンを押したときに音が鳴ります。
- 26. デバイスがC2DMメッセージを受信したときに音を鳴らす方法
- 27. iPhoneが寝ている間に音を鳴らすことはできますか?
- 28. Mono XSPでホストされているWebアプリケーションへの最初のブラウザ要求の遅延が大きい
- 29. 遅延静的クラスメンバ初期
- 30. Rails 3:遅延ジョブ、遅延メソッドが知られていません
ポーズはサウンドの初期読み込みです。基本的には、ゲームのセットアップでこれらのオーディオファイルのロードをすべて実行することは、あらかじめロードして、間違いなく正しい方法です。その一時停止はセットアップ中に存在しますが、一時停止はセットアップ中に管理できます。 – prototypical
SKLabelのフォントを読み込むと、同じ一時停止が発生する可能性があります。したがって、セットアップ中にゲームプレイ中に使用するフォントでもSKLabelsをロードすることをお勧めします。たとえば、ゲームプレイ中にのみ使用されるスコアポップアップ用の特定のフォントがある場合などです。 – prototypical