2012-05-24 17 views
5

मैं एंड्रॉइड videoview द्वारा वीडियो चलाने की कोशिश कर रहा हूं। यहां मेरा कोड है:कोड द्वारा एंड्रॉइड videoview द्वारा फ़ाइल समर्थित है या नहीं?

super.onCreate(savedInstanceState); 
setContentView(R.layout.video); 
VideoView videoView = (VideoView) findViewById(R.id.videoView); 
videoView.setVideoURI(uri); 
videoView.requestFocus(); 
videoView.start(); 

यह ठीक काम करता है, हालांकि कुछ फोन अभी भी "वीडियो नहीं चला सकते" शीर्षक के साथ संवाद बॉक्स दिखाते हैं।

मेरा प्रश्न यह है कि इस अधिसूचना विंडो को कैसे अक्षम करें? मेरा मतलब है, क्या मैं वीडियो अपलोड कर सकता हूं या वीडियो View.start() को कॉल करने से पहले नहीं देख सकता हूं? या मैं सिस्टम पॉपअप अधिसूचना विंडो को कॉल करने को अक्षम या रोक सकता हूं?

अगर मैं अधिसूचना विंडो के बिना फोन द्वारा समर्थित नहीं हूं तो मैं वीडियो को छोड़ना चाहता हूं।

+0

हाय, क्या आपको इसके लिए समाधान मिला? – Noundla

उत्तर

3

मैंने वीडियोव्यू शुरू करने से पहले वीडियोऑव शुरू करने से पहले सेटऑनरर लिस्टर का उपयोग किया था या नहीं।

// Restart if PROBLEM 
    myVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() { 

     public boolean onError(MediaPlayer mp, int what, int extra) { 
      // TODO Auto-generated method stub 
      Intent intent = getIntent(); 
      overridePendingTransition(0, 0); 
      intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 

      finish(); 

      overridePendingTransition(0, 0); 
      startActivity(intent); 

      return true; 
     } 

    }); 
    myVideoView.start(); 
0

मुझे इस समस्या का समाधान करने के लिए MediaPlayer का उपयोग करने का एक और आसान तरीका मिला।

try { 
    MediaPlayer mp = MediaPlayer.create(this, uri); 
    mp.release(); 
} catch (Exception e) { 
    Log.e("MediaPlayer", "can NOT play: " + uri); 
} 

ऊपर कोड सबसे वीडियो कि VideoView द्वारा समर्थित नहीं फ़िल्टर कर सकते हैं, लेकिन यह सही नहीं है, क्योंकि मैं कुछ नहीं समर्थित mkv/mpg वीडियो भी ऊपर परीक्षा उत्तीर्ण पाया।

वैसे भी, यह विचार की एक और पंक्ति है। मैंने इसे यहां पोस्ट किया है, और उम्मीद है कि कोई इसे सुधार सकता है।

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