2013-03-14 7 views
11

का उपयोग कर वीडियो बजाना मैं वीडियो फ़ाइल चलाने के लिए MediaPlayer कक्षा का उपयोग करने की कोशिश कर रहा हूं। समस्या यह है कि वीडियो प्रदर्शित नहीं हो रहा है, हालांकि मैं वीडियो खेलने में ध्वनि सुन सकता हूं।मीडियाप्लेयर क्लास

बाद गतिविधि

public class MainActivity extends Activity implements OnClickListener { 

private SurfaceView surfaceView; 
private Button btnPlay; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    init(); 
    addListener(); 

} 

private void init() { 
    // TODO Auto-generated method stub 
    surfaceView = (SurfaceView) findViewById(R.id.surfaceView1); 
    btnPlay = (Button) findViewById(R.id.btnPlay); 
} 

private void addListener() { 
    // TODO Auto-generated method stub 

    btnPlay.setOnClickListener(this); 
} 

MediaPlayer mediaPlayer = null; 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch (v.getId()) { 
    case R.id.btnPlay: 
     try{ 
     if (mediaPlayer != null) { 
      mediaPlayer.reset(); 
      mediaPlayer.release(); 
     }else{ 
     getWindow().setFormat(PixelFormat.UNKNOWN); 
     MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.wildlife); 
     SurfaceHolder surfaceHolder = surfaceView.getHolder(); 

     surfaceHolder.setFixedSize(176, 144); 
     surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
     mediaPlayer.setDisplay(surfaceHolder); 
     mediaPlayer.start();} 
     }catch (Exception e) { 
      Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show(); 
     } 
     break; 

    default: 
     break; 
    } 
    } 
    } 

बाद के कोड लेआउट xml का कोड

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" > 

<SurfaceView 
    android:id="@+id/surfaceView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" /> 

<Button 
    android:id="@+id/btnPlay" 
    style="?android:attr/buttonStyleSmall" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignRight="@+id/surfaceView1" 
    android:layout_alignTop="@+id/surfaceView1" 
    android:text="@string/play" /> 

</RelativeLayout> 

है कृपया मुझे बताओ क्या किया जाना चाहिए? अग्रिम धन्यवाद।

+0

आप अपना खुद का सतह दृश्य बना सकते हैं और वीडियो चलाने के लिए अपनी गतिविधि में इस सतह दृश्य को कॉल कर सकते हैं। उम्मीद है कि यह आपकी समस्या का समाधान कर सकता है – AndroidOptimist

उत्तर

0

सेट सतह xml फ़ाइल में पैरेंट को भरने के लिए ऊंचाई और चौड़ाई देखें।

<SurfaceView 
android:id="@+id/surfaceView1" 
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" /> 
+0

हाँ इसने भी कोशिश की – Chaitanya

0

अपने SurfaceView लेआउट स्थापनानहीं आकार एक वीडियो उचित पहलू अनुपात में खेलने के लिए होगा wrap_content करने के लिए।

आप इस सवाल का जवाब लिंक

https://stackoverflow.com/a/6283676/1441666

और भी इस ब्लॉग Play media on surfaceview using android.media.MediaPlayer

+0

हाँ आपके द्वारा प्रदान किया गया लिंक शांत सहायक था और वहां ऐप एसडी कार्ड से एक ही वीडियो फ़ाइल चलाने में सक्षम था। लेकिन मैं 'ContentProvider' यानी 'मीडियास्टोर' का उपयोग नहीं करना चाहता हूं। तो क्या आप मुझे एक लिंक सुझा सकते हैं जहां से मैं 'मीडियाप्लेयर' कक्षा का उपयोग करके वीडियो चलाने के लिए कच्चे संसाधन का उपयोग कैसे कर सकता हूं। – Chaitanya

0

ठीक है, मैं अगर आप एक विशिष्ट स्थिति की जरूरत है पता नहीं है का उल्लेख कर सकते हैं, लेकिन आप पहले से ही है FullscreenVideoView कोशिश की?

यह उन सभी सतह दृश्य समस्याओं को सारणी करने का प्रयास करता है और आप केवल यूआई बटनों पर ध्यान केंद्रित कर सकते हैं। चूंकि यह खुला है, आप फुलस्क्रीनविडियो व्यू को उपclass कर सकते हैं और आपको जितनी जरूरत हो उतनी अनुकूलित कर सकते हैं।

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