2011-03-10 8 views
10
protected MediaPlayer _mediaPlayer; 

protected void playFromResource(int resId)  
    {  
    if (_mediaPlayer != null)   
     {   
     _mediaPlayer.stop();   
     _mediaPlayer.release(); 
     }  
    _mediaPlayer = MediaPlayer.create(this, resId); 
    _mediaPlayer.start(); 
    } 

यह कोड दोनों एमुलेटर और उपकरणों पर ठीक काम करने के लिए प्रयुक्त होता था। कुछ समय से (मुझे लगता है कि यह तब से है जब से मैंने एडीटी आर 10 में अपडेट किया) यह केवल डिवाइस पर काम करता है। एम्यूलेटर पर अब कोई आवाज नहीं है और on _mediaPlayer.release() (दूसरी बार फ़ंक्शन कहलाता है) पास होने पर एप्लिकेशन फ्रीज हो जाता है। मैं stop() और release() को reset() द्वारा प्रतिस्थापित करके एप्लिकेशन को क्रैश करने में सक्षम था लेकिन यह मुख्य समस्या को हल नहीं करता है: एमुलेटर पर कोई आवाज नहीं है।मीडियाप्लेयर अब आर 10 के बाद से एमुलेटर पर काम नहीं कर रहा है?

लॉग फ़ाइल मुझे इन (केवल एमुलेटर पर) का एक समूह को दिखाने के बस start()

03-09 19 को कॉल के बाद: 14: 30.716: चेतावनी/audiotrack (34): obtainBuffer टाइम आउट हो गया ( सीपीयू आंकी जाती है?) 0x1afb8 उपयोगकर्ता = 00001e00, सर्वर = 00000600

कोई सुराग ????

+0

क्या एमुलेटर संस्करण आप चल रहे हैं, और किन उपकरणों:

जानकारी के लिए

? –

+0

मैंने 2.1 अपडेट 1, 2.2 और 3.0 पर कोशिश की। वही (कमी) परिणाम –

+0

मेरा एडीटी संस्करण 10.0.0.v201102162101-104271 –

उत्तर

4

ऐसा लगता है कि समस्या केवल मेरे कंप्यूटर पर है। मैंने बस इसे किसी अन्य कंप्यूटर पर आज़माया और यह ठीक काम करता है। जब मैंने एडीटी के आर 10 में अपग्रेड किया तो मुझे कुछ समस्याएं थीं। शायद मेरे विकास सेटअप में कुछ गड़बड़ है।

+0

ऐसा लगता है कि यह नवीनतम विंडोज अपडेट में से एक है (मैं विंडोज एक्सपी पर हूं)। मैंने दूसरे कंप्यूटर पर विंडोज अपडेट (यह 5 अपडेट स्थापित किया) चलाया जहां यह काम कर रहा था और यह अब और काम नहीं कर रहा है। –

+2

अधिक परीक्षणों के बाद मुझे पता चला कि दूसरे कंप्यूटर पर मुद्दा एमुलेटर स्नैपशॉट से संबंधित है। कुछ विंडोज अपडेट के बाद, इसे ठीक से काम करने के लिए एमुलेटर स्नैपशॉट को फिर से बनाना होगा। इस मुद्दे को दूसरे कंप्यूटर पर तय किया गया। पहले कंप्यूटर के लिए मुझे अभी भी समस्या मिलती है अगर मैं स्नैपशॉट से एमुलेटर शुरू करता हूं (भले ही इसे फिर से बनाया गया हो)। अगर मैं एक नए एमुलेटर सत्र (स्नैपशॉट के बिना) से शुरू होता हूं तो यह ठीक काम करता है –

7

मै मैक ओएस पर भी यह समस्या देखता हूं। मेरे मामले में ऐसा होता है जब आप एमुलेटर के लिए "स्नैपशॉट" सक्षम करते हैं।
http://code.google.com/p/android/issues/detail?id=14953
आपको एमुलेटर को हटाना होगा और "स्नैपशॉट" सक्षम किए बिना एक नया बनाना होगा।

+0

हां, 'स्नैपशॉट' भी मेरे लिए समस्याएं पैदा कर रहा था। – cucko

7

मुझे अपने मैकबुक प्रो पर यह समस्या थी और पाया कि मुझे एमुलेटर लॉन्च करने से पहले अपने ब्लूटूथ को बंद करना पड़ा।

+0

यह मेरे लिए काम किया। मैंने इसे 15 मिनट का समस्या निवारण खो दिया ... – sphere4a

0

सुनिश्चित करें कि आप मीडियाप्लेयर स्टेट आरेख पढ़ते हैं और जब आप अपना मीडियाप्लेयर ऑब्जेक्ट बंद करते हैं तो आप सभी अनुरोधित कार्रवाइयां करते हैं; यदि आप रुकते नहीं हैं, रीसेट करें और इसे पुन: प्राप्त करें, अगली बार जब आप इसका उपयोग करने का प्रयास करेंगे, तो यह एक अंतर्निहित स्थिति में होगा ताकि आप इसे शुरू नहीं कर सकें। http://developer.android.com/reference/android/media/MediaPlayer.html

संबंधित मुद्दे