के साथ पहली बार ध्वनि बजाने में छोटी देरी जब मैं [स्वयं playSoundFileNamed] का उपयोग करके ध्वनि बजाता हूं, पहली बार ध्वनि चलाने के दौरान एक छोटी देरी होती है जहां पूरा ऐप एक सेकेंड के आधे के लिए फ्रीज करता है, लेकिन उसके बाद यह ठीक है। मुझे इससे कैसे छुटकारा मिल सकता है?SpriteKit
5
A
उत्तर
15
मेरी गेम सेटअप विधि में, मैं ऐसा कुछ करता हूं और ऐसा लगता है कि यह अच्छी तरह से काम करता है।
एक इवर
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. SpriteKit
- 2. SpriteKit
- 3. SpriteKit
- 4. SpriteKit
- 5. SpriteKit
- 6. SpriteKit टेम्पलेट
- 7. SpriteKit SKPhysicsBody किनारों
- 8. spritekit दृश्य संपादक
- 9. spritekit ios9 fps ड्रॉप
- 10. एक कण SpriteKit
- 11. Spritekit में ग्रेडियेंट कैसे बनाएं?
- 12. Xcode 5 SpriteKit कण emitter संपादक
- 13. TVOS SpriteKit खेल डेटा संग्रह स्थान
- 14. बेसिक तेज/SpriteKit खेल - मुसीबत redrawing
- 15. SpriteKit के साथ एक आयत में एक छेद ड्रा?
- 16. 2 नोड्स को छोड़कर सबकुछ कैसे धुंधला करें। SpriteKit (स्विफ्ट)
- 17. spritekit के साथ एकल ड्राइंग पास में नोड्स रेंडर?
- 18. SpriteKit - पारदर्शिता पर ध्यान न दें जब नोड
- 19. SpriteKit में स्विफ्ट के साथ "enumerateChildNodesWithName" का उपयोग कैसे करें?
- 20. ध्वनि को थामने के लिए जब उपयोग SpriteKit
- 21. SpriteKit गतिशील गति को सेट किए बिना टकराव का पता लगाता है?
- 22. होम बटन प्रेस SpriteKit SKView में EXC_BAD_ACCESS कोड = 1 का कारण बनता है
- 23. SpriteKit SKPhysics एक दिशा में एक दिशा में बॉडी टकराव आप केवल जा सकते हैं लेकिन
- 24. SpriteKit - सही से एक्स के स्केल नोड छोड़ दिया करने के लिए
- 25. कृपया एप्पल SpriteKit नमूना कोड में uint32_t और 0x1 << 0 समझाने
- 26. SpriteKit unarchiveFromFile संपत्ति कैटलॉग से बनावट लोड नहीं करता है और
- 27. स्प्राइट किट में SKSpinLockSync क्या है और मैं इसे कैसे ठीक कर सकता हूं
- 28. आईओएस 8 स्प्राइटकिट ब्लॉक/एक्शन से बच्चे को जोड़ने या हटाने पर क्रैश
- 29. स्प्राइटकिट playSoundFile नामांकित क्रैश आईओएस पर 8.3
- 30. आईपैड और आईफोन में ऑब्जेक्ट के आकार के बावजूद स्प्राइटकिट में वही भौतिकी
विराम ध्वनि की प्रारंभिक लोडिंग है। अनिवार्य रूप से, गेम के लिए सेटअप में इन ऑडियो फ़ाइलों की सभी लोडिंग करना प्रीलोडिंग और निश्चित रूप से जाने का सही तरीका है। सेटअप के दौरान यह विराम मौजूद होगा, लेकिन सेटअप के दौरान रोकथाम योग्य है। – prototypical
आपको एसकेएलएबल के लिए फ़ॉन्ट लोड करने के साथ ही वही विराम का अनुभव होगा। सेटअप के दौरान गेमप्ले के दौरान उपयोग किए जाने वाले फोंट के साथ SKLabels को भी लोड करना सबसे अच्छा है। उदाहरण के लिए यदि आपके पास स्कोर पॉपअप के लिए एक विशिष्ट फ़ॉन्ट है जो केवल गेमप्ले के दौरान उपयोग किया जाता है। – prototypical