कुछ अमान्य तर्कों के लिए सबसे अच्छा ओवरलोडेड विधि मिलान है?

मैं अपने गेम में अपने पृष्ठभूमि संगीत को लूप करने की कोशिश कर रहा हूं, हालांकि अद्यतन फ़ंक्शन में यह कथन दर्ज करते समय उपरोक्त त्रुटि प्राप्त कर रहा हूं:

if (!songStart)
{
    MediaPlayer.Play(backgroundMusic);//error occuring here
    songStart = true;
}

जब मैं इसे लोड सामग्री में डालता हूं तो त्रुटि गायब हो जाती है, हालांकि मुझे इसे अद्यतन में चाहिए ताकि यह लगातार जांच कर रहा हो कि गीत (! songstart) नहीं खेल रहा है।

मेरे पास वर्तमान में गीत लोड करने के लिए लोड सामग्री में है:

Song backgroundMusic = Content.Load("backgroundMusic");
MediaPlayer.IsRepeating = true;

संपादित करें: बस ध्यान दिया गया है कि मुझे निम्न त्रुटि भी मिल रही है, क्या इसके साथ कुछ करने के लिए कुछ हो सकता है?

'माइक्रोसॉफ्ट.एक्सना.फ्रेमवर्क' से बदल नहीं सकते हैं .ऑडियो। साउंडएफ़ेक्ट 'माइक्रोसॉफ्ट.एक्सना.फ्रेमवर्क। मीडिया। सोंगकोलेक्शन'

धन्यवाद।

0
MediaPlayer.play एक Song चाहता है, और आप इसे SoundEffect पास कर रहे हैं। मेरा जवाब देखें
जोड़ा लेखक pinckerman, स्रोत
क्षमा करें, मैंने यह दिखाने के लिए कोड संपादित किया है कि त्रुटि कहां हो रही है। निम्न त्रुटि निम्नानुसार है। 'त्रुटि 1' Microsoft.Xna.Framework.Media.MediaPlayer.play (माइक्रोसॉफ्ट.एक्सएन और zwnj; a.Framework.Media.So और zwnj; ng) के लिए सबसे अच्छा ओवरलोडेड विधि मिलान 'कुछ अमान्य तर्क \ C: \ GPT2 \ BouncingBallXNA है \ BouncingBallXNA \ BouncingB और जेडडब्ल्यूएनजे; allXNA \ MainGame.cs 1 & जेडडब्ल्यूएनजे; 08 17 BouncingBallXN और जेडडब्ल्यूएनजे; ए '
जोड़ा लेखक Rich, स्रोत
धन्यवाद किया है! :)
जोड़ा लेखक Rich, स्रोत
आपको वास्तव में वह त्रुटि कहां मिल रही है, और पूर्ण त्रुटि पाठ क्या है? मुझे कुछ भी गलत नहीं दिख रहा है।
जोड़ा लेखक Tim S., स्रोत
साथ ही, यदि आपको मौका मिलता है तो इस ट्यूटोरियल को देखें: rbwhitaker.wikidot.com/using-xact आप XNA में अपने ऑडियो पर थोड़ा अधिक नियंत्रण प्राप्त करने के लिए XACT का उपयोग कर सकते हैं।
जोड़ा लेखक Timothy Randall, स्रोत

1 उत्तर

मुझे नहीं लगता कि ऑडियो को पहले से चल रहा है या नहीं, यह देखने के लिए आपको उस बूल की आवश्यकता है, आप इसका उपयोग कर सकते हैं:

if(MediaPlayer.State != MediaState.Playing)

और आपकी त्रुटि के लिए, आपके पास शायद backgroundMusic नामक दो चर हैं, मुझे लगता है कि आपकी कक्षा चर एक SoundEffect है (जैसा कि मैंने आपके पिछले प्रश्न में पढ़ा है), और आपके पास आपके कोड LoadContent में घोषित उसी नाम के साथ गीत चर। आपको पहले को हटा देना चाहिए।

0
जोड़ा
मुझे लगता है कि आपके पास backgroundMusic नामक दो चर हैं, यही कारण है कि यदि आप अपने LoadContent में कोड के उस टुकड़े का उपयोग करते हैं तो त्रुटि गायब हो जाती है।
जोड़ा लेखक pinckerman, स्रोत
आप लोडकंटेंट में यह घोषणा नहीं कर सकते कि अगर आपको इसे अद्यतन विधि में चाहिए, तो उसे क्लास वैरिएबल के रूप में ले जाएं।
जोड़ा लेखक pinckerman, स्रोत
अगर आपकी समस्या हल हो गई तो कृपया उत्तर स्वीकार करें :)
जोड़ा लेखक pinckerman, स्रोत
इसके लिए धन्यवाद, यह मुझे कुछ कोड बचाया! :) - कोई विचार क्यों त्रुटियां अभी भी हो रही हैं?
जोड़ा लेखक Rich, स्रोत
मैं पृष्ठभूमि के लिए एकमात्र चर की पुष्टि कर सकता हूं संगीत संगीत मेरे पास लोड सामग्री में निम्नानुसार है: गीत पृष्ठभूमि संगीत = सामग्री। लोड <गीत> ("पृष्ठभूमि संगीत");
जोड़ा लेखक Rich, स्रोत
ओह वाह, अब मैं बेवकूफ महसूस करता हूँ !! धन्यवाद, त्रुटि अब गायब हो गई है, वर्तमान में गेम चल रहा है और संगीत को यह देखने के लिए इंतजार कर रहा है कि यह लूप जैसा दिखता है या नहीं। उंगलियों को पार कर!!
जोड़ा लेखक Rich, स्रोत