2012-01-10 12 views
6

मैं किसी गतिविधि को VideoView जाता है कि अतुल्यकालिक रूप से एक वीडियो तैयार करने की है कि है:MediaPlayer: राज्य में बुलाया बंद 4

Uri mUri = "uri to streaming video" 
VideoView mVideoView = (VideoView) rootView.findViewById(R.id.videoView); 
mVideoView.setOnErrorListener(this); 
mVideoView.setOnCompletionListener(this); 
mVideoView.setVideoURI(mUri); 
mVideoView.setMediaController(null); 

mVideoView.setOnPreparedListener(this); 

है, वहीं यह "तैयारी कर" मैं एक ProgressDialog दिखाने ... अगर मैं वापस प्रेस बटन इस अवस्था के दौरान निम्न त्रुटि एडीबी को छपा है और गतिविधि एक काली स्क्रीन पर थोड़ी देर प्रतीक्षा करनी साथ चुपचाप दुर्घटनाओं:

E/MediaPlayer(2204): stop called in state 4 
E/MediaPlayer(2204): error (-38, 0) 
W/ActivityManager( 59): Activity pause timeout for HistoryRecord{45080368 com.myapp.VideoPlayerActivity} 

क्या एक वीडियो तैयार करने से एक VideoView को रोकने के लिए तो आप एक बाहर निकल सकते हैं सबसे अच्छा तरीका है गतिविधि?

नोट: जबकि MediaPlayer/VideoView "है

@Override 
public void onPrepared(MediaPlayer player) 

... जो ऐसा नहीं होता है: मैं वीडियो के लिए कॉलबैक तैयार किया जा रहा कहा जाता है जब तक वास्तविक MediaPlayer वस्तु का उपयोग करने की जरूरत नहीं है तैयार कर रहे हैं"।

+0

आप इसे हल कर लिया है पहले MediaPlayer.prepare() कॉल करके देखें ?? – frayab

+0

एनपीइक मैं एक ही समस्या से पीड़ित हूं। क्या आपने समस्या हल की है? तो कैसे ? कृपया ज्ञान साझा करें। –

+0

क्या किसी को इसे ठीक करने का कोई तरीका मिला है? मुझे पता है कि धागा पुराना है लेकिन मुझे एक ही समस्या है। – nawlrus

उत्तर

2

मैंने इसे स्वयं का परीक्षण नहीं किया है, लेकिन जब आप राज्य तैयार कर रहे हैं तो आपको मीडियाप्लेयर reset() करने में सक्षम होना चाहिए।

+0

वीडियो तैयार होने से पहले MediaPlayer संदर्भ प्राप्त करना संभव नहीं है, इसलिए मीडिया प्लेयर – user3542552

1

कर MediaPlayer.stop() जब वापस बटन दबाया जाता है (onPause या onStop गतिविधि तरीका लागू)

+1

को रीसेट करना संभव नहीं है, वीडियो तैयार होने से पहले MediaPlayer संदर्भ प्राप्त करना संभव नहीं है, इसलिए यह संभव नहीं है MediaPlayer.prepare() – user3542552