2010-12-20 16 views
10

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

यहाँ मैं क्या कर रहा है:

प्रारंभ बजाना

mediaPlayer.setDataSource(PATH); 
mediaPlayer.prepare(); 
mediaPlayer.start(); 

बंद करो

mediaPlayer.stop 

बजाना अब, अगर मैं फिर से एक ही मीडिया खेलना शुरू करना चाहते हैं, मैं क्या होगा करना है?

* पाथ एक सतत चलने वाले रेडियो स्टेशन का यूआरएल है।

+0

क्या आप समझने के लिए अपना कोड पोस्ट कर सकते हैं? – Sandy

+0

फिक्स्ड। मैं स्टॉप के बाद रीसेट नहीं कर रहा था। – Sharj

उत्तर

7

इस जोड़ें:

mp.reset(); 
mp.setDataSource(MEDIA_PATH); 
mp.prepare(); 
mp.start(); 
5

mediaplayer बंद होने के बाद आप Mediaplayer http://developer.android.com/reference/android/media/MediaPlayer.html के राज्य आरेख को देख सकते हैं, तैयार होने पर तैयार होना चाहिए, और फिर आप प्रारंभ विधि को कॉल कर सकते हैं।

23

मामले में आप वर्तमान क्षेत्र में डेटा स्रोत के लिए पहुँच नहीं है, तो आप कर सकते हैं:

mp.pause(); 
mp.seekTo(0); 

फिर जब आप कर

mp.start(); 

नाटक फिर से शुरू होगा।

मुझे इसकी आवश्यकता थी क्योंकि मेरे पास एक बटन था जो खेलना टॉगल करता था। मेरे पास टॉगलप्लेयर विधि थी जिसमें डेटासोर्स गुंजाइश से बाहर था।

+0

हां, यह आसान और काम कर रहा है! –

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