java - libgdx lag when sound.play() while collecting apple -


I'am सरल libgdx खेल कर रहा है। जब मैं sound.play () संपादित करें का उपयोग करता हूं, तो मेरे पास अंतराल है (0 सेकंड के लिए खेल बंद)। 2.3 पर 2.3 पर यह बग एपियर सब कुछ ठीक चल रहा है।

विधि मैं इस कोड के द्वारा ध्वनि चलाता हूं:

  अगर (CollisionDetector.detect (स्पर्शएरिया, हूडि.गेटटौचएरिया ())) {गेमस्क्रीनटोटाःकोर ++; setPosition (); Println ( "खेला"); Assets.eatSound.play (); }  

और मैं ध्वनि लोड करने के लिए इस पद्धति का उपयोग करता हूं:

  स्थिर लंबे इंतजारफोड़ लोड हो गया (ध्वनि ध्वनि, फ्लोट वॉल्यूम) {long id; जबकि ((आईडी = ध्वनि.प्ले (मात्रा)) == -1) {लंबा टी = टाइमयूटल। नैनोटाइम (); जबकि (टाइमयूटील्स। नैनो टाइम) - टी एंड एलटी; 100000000); } वापसी आईडी; }  

मैं क्या कर रहा हूँ गलत? या इस अंतराल को ठीक करने के लिए मैं क्या कर सकता हूँ?

संपादित करें:

मैंने अभी धागा करने की कोशिश की है। Play () लेकिन यह भी काम नहीं करता है:

  नया थ्रेड (नया रननाबल) {@Override public void run () {// कुछ महत्वपूर्ण यहाँ है, अतुल्यकालिक रेंडरिंग धागा के लिए // रेंडर करने वाला थ्रेड जो परिणाम को संसाधित करता है Gdx.app.postRunnable (नया रननाबल () {@Override public void run ()} {// प्रक्रिया को परिणाम, उदाहरण के लिए इसे ऐरे एंड लेफ्टिनेंट; परिणाम & gt; फ़ील्ड के अनुप्रयोगएलस्टनर में जोड़ें। EatSound2.play ();}});}})। );  

मेरी आवाज़ परिसंपत्ति वर्ग इस तरह दिखता है लेकिन मुझे अब भी ध्वनि के साथ अंतराल है पैकेज com.redHoodie;

<पूर्व> आयात करें com.badlogic.gdx.Gdx; आयात करें com.badlogic.gdx.audio.Sound; आयात करें com.badlogic.gdx.utils.Disposable; सार्वजनिक वर्ग ध्वनि प्रभाव लागू करता है डिस्पोज़ेबल {निजी स्थिर अंतिम पूर्णांक WaitLimit = 1000; निजी स्थिर फाइनल थ्रॉटलम = 100; ध्वनि खाओ; साउंड एंडसाउंड; सार्वजनिक ध्वनि प्रभाव () {eatSound = Gdx.audio.newSound (Gdx.files.internal ("eat.sound.ogg")); EndSound = Gdx.audio.new ध्वनि (Gdx.files.internal ("sadend.wav")); checkedPlay (eatSound); } लंबे समय से सुरक्षित प्लेटेड संरक्षित किया गया (ध्वनि ध्वनि) {चेक पर क्लिक किया गया प्ले (ध्वनि, 1); } लंबे समय से संरक्षित लॉक सुरक्षित (ध्वनि ध्वनि) {वापसी चेकअप (ध्वनि, 1); } लंबे समय से सुरक्षित प्ले किया गया सुरक्षित (ध्वनि ध्वनि, फ्लोट वॉल्यूम) {int waitCounter = 0; लंबी ध्वनि आईडी = 0; बुलियन तैयार = झूठे; जबकि (! तैयार एवं amp; amp; प्रतीक्षाकायक & amp; प्रतीक्षा; प्रतीक्षालमित) {soundId = sound.play (मात्रा); तैयार = (ध्वनिइंड! = 0); waitCounter ++; कोशिश {Thread.sleep (ThrottleMs); } पकड़ (बाधित ईक्सेप्शन ई) {}} वापसी ध्वनि आईडी; } लंबे समय से सुरक्षित लूप सुरक्षित (ध्वनि ध्वनि, फ्लोट वॉल्यूम) {int waitCounter = 0; लंबी ध्वनि आईडी = 0; बुलियन तैयार = झूठे; जबकि (! तैयार और amp; amp; प्रतीक्षाकायक & lt; WaitLimit) {soundId = sound.loop (मात्रा); तैयार = (ध्वनिइंड! = 0); waitCounter ++; कोशिश {Thread.sleep (ThrottleMs); } पकड़ (बाधित ईक्सेप्शन ई) {}} वापसी ध्वनि आईडी; } @ ओवरराइड पब्लिक वाइड डिज़ॉज () {// TODO ऑटो-जनरेटेड विधि स्टब}}

< P> मुझे एक ही समस्या थी यह इसलिए था क्योंकि मेरी। एमपी 3 फाइल बहुत छोटी थी। मेरा 0.167 सेकंड लंबा था मैंने ऑडेसिटी के साथ 1.2 सेकंड का मौन जोड़ा, और यह समस्या तय की।


Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

Powerbuilder 12.1 and DataWindow in Design vs Debug and Executable/Runtime -

css3 - HTML Block Anchor element only half clickable in Chrome -