2011-11-01 10 views
6

मुझे एक समस्या है कि मैं वीडियो व्यू में चल रहे वीडियो की कुल लंबाई प्राप्त करना चाहता हूं, इसके लिए मैं वीडियो व्यू के getDuration विधि का उपयोग कर रहा हूं लेकिन यह हमेशा -1 देता है जब मैं इसे मौजूदा स्थिति से तुलना कर रहा हूं। असल में मैं चाहता हूं कि अगर वीडियो की वर्तमान स्थिति वीडियो की कुल लंबाई के बराबर है तो इसे 0 वें स्थान से शुरू करना चाहिए जिसका मतलब है शुरू करना। मतलब मैं कहना चाहता हूं कि मैं वीडियो की वर्तमान लंबाई के साथ वीडियो वर्तमान स्थिति की तुलना करना चाहता हूं, मैं यह कैसे कर सकता हूं?एंड्रॉइड में वीडियो दृश्य में वीडियो की कुल लंबाई कैसे प्राप्त करें

अग्रिम धन्यवाद।

कोड:

videoPosition=VideoPositionFinding(IDValue,video.getDuration()); 
    video.seekTo(videoPosition); 
    if(video.getCurrentPosition()==video.getDuration()){ 
     videoPosition=0; 
    } 
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
    System.out.println("The Video Duration: "+video.getCurrentPosition()); 

    video.start(); 
+0

पोस्ट अपने यहां कोड करें ताकि हम जानते हैं कि समस्या क्या है – androidnoob

+0

फिर से देखें मैंने कोड –

उत्तर

-1

मुझे लगता है कि यह लागू करने के लिए एक सीधा रास्ता नहीं है, लेकिन इन समारोह से आप यह कर सकते हैं। आपको कोशिश करनी चाहिए।

सार्वजनिक पूर्णांक getBufferPercentage()

सार्वजनिक पूर्णांक getDuration()

http://developer.android.com/reference/android/widget/VideoView.html

-3

आप LOCATION_SERVICE क्यों प्रयोग कर रहे हैं वीडियो स्थिति पाने के लिए? LOCATION_SERVICE डिवाइस के स्थान को इंगित करने के लिए है। इस link का संदर्भ लें।

+0

स्थान सेवा के साथ प्रश्न संपादित किया है बर्फ वीडियो स्थिति पाने के लिए नहीं है, यह आपकी चिंता के लिए नहीं है –

+3

उस स्थिति में, उसमें कोड की उस पंक्ति को न रखें। यह बहुत भ्रामक है – androidnoob

13

वीडियो उपयोग कोड की कुल लंबाई प्राप्त करने के लिए:

videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
      @Override 
      public void onPrepared(MediaPlayer mp) {       
       long duration = videoView.getDuration(); 
      } 
     }); 
+0

यह मेरे लिए काम करता है। – AlexAndro

+0

सावधान रहें कभी-कभी एमएस लौटाता है और कभी-कभी सेकेंड – htafoya

+0

@ हताफॉय आप गंभीर हैं? यह एक मजाक होगा, यह संभव नहीं है – kolboc

6

वीडियो की लंबाई नीचे कोड का उपयोग प्राप्त करने के लिए

myVideoView.setOnPreparedListener(new OnPreparedListener() { 

     @Override 
     public void onPrepared(MediaPlayer mp) { 
      // TODO Auto-generated method stub 
      int duration=mp.getDuration()/1000; 
      int hours = duration/3600; 
      int minutes = (duration/60) - (hours * 60); 
      int seconds = duration - (hours * 3600) - (minutes * 60) ; 
      String formatted = String.format("%d:%02d:%02d", hours, minutes, seconds); 
      Toast.makeText(getApplicationContext(), "duration is " + formatted , Toast.LENGTH_LONG).show(); 
     } 
    }); 
0

आप नीचे दिए गए कोड का उपयोग कर सकते हैं:

int duration = MediaPlayer.create(context, Uri.fromFile(new File(video_path))).getDuration(); 
संबंधित मुद्दे

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