2012-07-27 18 views
7

मैं अपने गतिविधि में MediaController का इस्तेमाल किया है इसके ठीक काम कर रहा है, लेकिन जब मैं पहली बार के लिए वीडियो चलाने फिर वहाँ विराम बटन दिखाई ख चाहिए, लेकिन इसके बजाय वहाँ खेल है और जब मैं फिर वीडियो कि बटन दबाएँ सही ढंग से रोका गया है और राज्य वही रहता है और इसके बाद यह ठीक से काम कर रहा है। और वीडियो तब पूरा होता है जब वीडियो पूरा हो जाता है। क्या यह एक बग है या मैं कुछ गलत कर रहा हूं?एंड्रॉयड mediacontroller प्ले रोकें नियंत्रण ताज़ा नहीं ठीक से

videoView.setOnPreparedListener(new OnPreparedListener() { 
    @Override 
    public void onPrepared(MediaPlayer mp) { 
      mediaController = new MediaController(VideoPlayerActivity.this){ 
     public void hide(){ 
     } 
     public void show(){ 
      if(isPlayingAd){ 
       super.hide(); 
      }else{ 
       super.show(); 
      } 
     } 
    }; 
    videoView.setMediaController(mediaController); 
    mediaController.setMediaPlayer(videoView); 
    mediaController.show(); 
    } 
}); 

उत्तर

5

मुझे एक ही समस्या है। मैं MediaController.setVideoView पर कॉल नहीं कर रहा था, जैसा कि मैंने सोचा था कि VideoView.setMediaController वायरिंग चीजों के लिए पर्याप्त था। मैंने इसे जोड़ने का प्रयास किया, फिर show पर onPrepared के भीतर कॉल को स्थानांतरित कर दिया, और अब यह काम कर रहा है।

काश मैं एक बेहतर समझ थी, मेरा सबसे अच्छा अनुमान यह है कि मीडिया तैयार होने से पहले, और शो कॉल करने से पहले सब कुछ ठीक से तारों की जरूरत है।

mMediaController = new MediaController(VideoPlayerActivity.this, false); 

mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {    
    @Override 
    public void onPrepared(MediaPlayer pMp) { 
     mMediaController.show(); 
    }  
}); 

mVideoView.setMediaController(mMediaController); 
mMediaController.setMediaPlayer(mVideoView); 
mVideoView.setVideoPath(uri); // may not be applicable in your case 
mVideoView.requestFocus(); 
mVideoView.start(); 
+0

मैं 'mVideoView.start()' mMediaController.show से पहले '()' कॉल करने के लिए किया था। मेरे मामले में दोनों कॉल 'ऑनपेरेड (मीडियाप्लेयर पीएमपी)' में हैं। Android 4.2.2 के साथ सैमसंग डिवाइस पर काम करने का यही एकमात्र तरीका था – OneWorld

0

वनवर्ल्ड अन्य जवाब पर उल्लेख किया है, मैं पुराने सैमसंग उपकरणों के साथ एक ही मुद्दा था: किसी भी मामले में, यहाँ मैं क्या है। हालांकि MediaController VideoView के साथ ठीक से वायर्ड किया गया है, प्ले बटन तब तक सिंक खो देता है जब तक कि मीडिया कंट्रोलर के साथ रोकें और फिर से चलाएं।

यह बात केवल लगता है पुराने सैमसंग उपकरणों पर (किटकैट और मुझे लगता है नीचे) होता है।

एकमात्र समाधान मैंने पाया() videoview.start द्वारा प्ले वीडियो programmically() mc.show द्वारा नियंत्रक दिखाने से पहले किया गया था।

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