VideoView एंड्रॉइड 4.0 और ऊपर - एंड्रॉइड, एंड्रॉइड-4.0, videoview पर काम नहीं करता है

मैं इस तरह रनटाइम में एक वीडियो व्यू बना रहा हूं:

@Override
public View getUIElement(){
if(vv==null){
this.vv = new VideoView(this.getContext());
vv.setVideoURI(Uri.parse(this.url));
mc = new MediaController(this.getContext());
vv.setMediaController(mc);
}
return vv;
}

और उसके बाद मैं इस वीडियो व्यू को LinearLayout में जोड़ता हूं, मैं इसे कॉल कर रहा हूं:

public void initVideo(){
mc.show();
vv.setBackgroundColor(Color.TRANSPARENT);
vv.requestFocus();
vv.start();
Log.v("Video",vv.toString());
}

यह कोड फियोयो (2। पर पूरी तरह से काम करता है।2) और जिंजरब्रेड (2.3.5), लेकिन आईसीएस (4.0) और जेबी (4.1) पर कुछ नहीं होता - वीडियो व्यू पेरेंट व्यू में भी दिखाई नहीं देता है। क्या आपके पास कोई विचार है? Uri.parse () में मैं mp4 फ़ाइल में url पास कर रहा हूँ।

--edit मैं यह बताना भूल गया था कि आईसीएस एंज जेबी में लॉगकैट में, मीडियाप्लेयर को भी नहीं कहा जाता है (फ्रायओ और जिंजरब्रेड में मीडियाप्लेयर क्लास द्वारा उत्पन्न कुछ इंफोस हैं)।

उत्तर:

जवाब के लिए 0 № 1

मैं अपने वीडियो संसाधन को कच्चे फ़ोल्डर से res में प्राप्त कर रहा हूं। आप सीधे यूआरएल का भी उपयोग कर सकते हैं। मैंने इसे नीचे कोड में किया है।

एक्सएमएल लेआउट फ़ाइल में लिखें

VideoView
android:id="@+id/videoView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"<
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" />

और जावा कोड में लिखें

video = (VideoView) findViewById(R.id.videoView1);
video.setVideoPath("android.resource://com.example.s3project/raw/" +R.raw.bggreen1);
//video.setVideoURI(Uri.parse("http://www.pocketjourney.com/downloads/pj/video/famous.3gp"));
video.start();

संबंधित सवाल
सबसे लोकप्रिय