2011-07-08 22 views
6

यह मेरा कोड है, लेकिन जब मैं मेडियाप्लेयर शुरू करता हूं तो इसमें केवल ध्वनि आती है और सतह को कुछ भी नहीं दिखाया जाता है। क्यूं कर?वीडियो प्ले करें जब वीडियो usinng mediaplayer

मुझे इस पर कोई जानकारी नहीं है। क्या आपके पास कुछ कोड है जो मुझे इसके साथ सीखने में मदद करता है।

videoV = (SurfaceView) findViewById(R.id.SurfaceView1); 
    sh = videoV.getHolder(); 

    File path = Environment.getExternalStorageDirectory(); 
    File file = new File(path, "sample2.mp4"); 

    sh.addCallback(this);  
    mp = new MediaPlayer(); 
    mp.setDataSource(file.getAbsolutePath()); 
    mp.setDisplay(sh); 
    mp.prepare(); 
    mp.start(); 

उत्तर

1


इस कोड को आजमाएं।

resource फ़ाइल नाम है जो आप खेलना चाहते हैं और one.two पैकेज अपना रास्ता हो सकता है android.resource://package_name/raw/file_name

VideoView video=(VideoView) findViewById(R.id.videoview); 
MediaController mediaController = new MediaController(this); 
mediaController.setAnchorView(video); 
video.setMediaController(mediaController); 
//Uri uri = Uri.parse("android.resource://play.vedio/"+R.raw.dobeernotdrugs); 
video.setKeepScreenOn(true); 
video.setVideoPath("android.resource://one.two/raw/"+resource); 
video.start(); 
video.requestFocus(); 

भी तरह के रूप में इस tutorial

3

पर एक नज़र आप तैयार श्रोता पर जोड़ा है ले नाम है? मैंने उस विधि में शुरुआत को लागू किया क्योंकि यह ट्रिगर है जो इंगित करता है कि वीडियो कब प्रस्तुत करने के लिए तैयार है। बाद

sh.addCallback(this); 

इस

मेरे मामले में यह मददगार था

sh.addCallback(this);  
mp = new MediaPlayer(); 
mp.setDataSource(file.getAbsolutePath()); 
mp.setDisplay(sh); 
mp.setOnPreparedListener(this); 
mp.prepare(); 

public void onPrepared(MediaPlayer arg0) { 
    mp.start(); 
} 
5

प्रयास करें जोड़ने के लिए।

+1

हनीकॉम के रूप में विधि सेट टाइप को बहिष्कृत किया गया है। –

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