[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. 音が鳴らないSwift
- 3. キーが押されたときに音を鳴らす
- 4. 新しいメッセージが届いたときに音を鳴らす
- 5. JobSchedulerがジョブを初めて実行するまでの遅延?
- 6. 値として音を鳴らす
- 7. androidで音を鳴らす
- 8. バッチファイルで音を鳴らす
- 9. 音を鳴らしても録音が停止しないAvcapture
- 10. デバイスのメディアボリュームがオフのときにアラーム音を鳴らす
- 11. 固定遅延と初期遅延のジョブをスケジューリングする
- 12. 遅延は、私はループのために、この中に小さな遅延を作成する必要が
- 13. タブ音を鳴らすクリック
- 14. 録音中に音を鳴らす
- 15. SpriteKit(Swift 3)の遅延機能が動作しない
- 16. AJAXと一度音を鳴らす
- 17. スフィンクス音声認識遅延
- 18. Android MediaPlayer音声遅延
- 19. ラムからアラーム音が鳴らなくなったとき
- 20. 初めてperformSegueWithIdentifier遅延が発生する
- 21. Twilioで着信音を鳴らすのを止める方法
- 22. JavaScriptの目覚まし時計が音を鳴らさない
- 23. 携帯でjavascriptで音を鳴らす
- 24. ListViewの項目をタップしたときに音を鳴らす
- 25. 遅延初期化と初期化
- 26. HTMLボタンで音を鳴らす方法
- 27. Aフレームでクリック音を鳴らす
- 28. Silverlightでビープ音を鳴らす
- 29. PyFaceでビープ音を鳴らすには?
- 30. blackberryアプリケーションで着信音を鳴らす
ポーズはサウンドの初期読み込みです。基本的には、ゲームのセットアップでこれらのオーディオファイルのロードをすべて実行することは、あらかじめロードして、間違いなく正しい方法です。その一時停止はセットアップ中に存在しますが、一時停止はセットアップ中に管理できます。 – prototypical
SKLabelのフォントを読み込むと、同じ一時停止が発生する可能性があります。したがって、セットアップ中にゲームプレイ中に使用するフォントでもSKLabelsをロードすることをお勧めします。たとえば、ゲームプレイ中にのみ使用されるスコアポップアップ用の特定のフォントがある場合などです。 – prototypical