2012-03-08 6 views
1

Я хочу создать простой видеоплеер с помощью mediaPlayer. Итак, я сделал код, который я привел ниже. Но у меня проблема, потому что видео не видно, но звук воспроизводится. В моем XML-файле я использовал простой VideoView.android- воспроизведение видео с SD-карты

package com.Android.Simple; 

    import android.app.Activity; 
    import android.media.MediaPlayer; 
    import android.os.Bundle; 
    import android.view.SurfaceHolder; 
    import android.widget.VideoView; 

    public class SimpleVideoPlayerActivity extends Activity { 

     private VideoView _UIVideo; 
     SurfaceHolder _videoHolder; 

     public void onCreate(Bundle icicle) { 
      super.onCreate(icicle); 
      setContentView(R.layout.simple_video_view); 

      _UIVideo = (VideoView) findViewById(R.id.VVSimpleVideo); 
      MediaPlayer _mediaPlayer; 
      String _path = "/sdcard/abc.3gp"; 
      _videoHolder = _UIVideo.getHolder(); 

      try { 
       _mediaPlayer = new MediaPlayer(); 
       _mediaPlayer.setDataSource(_path); 
       _mediaPlayer.setDisplay(_videoHolder); 
       _mediaPlayer.prepare(); 
       _mediaPlayer.start(); 

      } catch (Exception e) { 
      } 
    } 

и файл манифеста:

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.Android.Simple" 
    android:versionCode="1" 
    android:versionName="1.0" > 
    <uses-sdk android:minSdkVersion="8" /> 

    <application 
      android:icon="@drawable/ic_launcher" 
      android:label="@string/app_name" > 
      <activity 
       android:name=".SimpleVideoPlayerActivity" 
       android:label="@string/app_name" > 
       <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 

        <category android:name="android.intent.category.LAUNCHER" /> 
       </intent-filter> 
      </activity> 
     </application> 

    </manifest> 





    <?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" > 

     <VideoView 
      android:id="@+id/VVSimpleVideo" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" /> 

     </LinearLayout> 

ответ

3
Try this Code 

     VideoView videoView = (VideoView)this.findViewById(R.id.videoView); 
     MediaController mc = new MediaController(this); 
     mc.setAnchorView(videoView); 
     mc.setMediaPlayer(videoView); 
     videoView.setMediaController(mc); 

     videoView.setVideoPath(path); 


     videoView.requestFocus(); 
     videoView.start(); 
+1

Сэм, это использует V ideoView ... Я хочу использовать MediaPlayer – Vivekanand

2

может у показать свой файл манифеста добавить разрешение

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 
+0

показать файл манифеста –

+0

Я. там ... я редактировал код – Vivekanand

2

На андроида сайте разработчика у вас есть очень простой демо:

Media Player

изменить ваш макет:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <SurfaceView android:id="@+id/surface" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center"> 
    </SurfaceView> 

</LinearLayout> 

и начать деятельность, как это:

Intent i = new Intent(getApplicationContext(), MediaPlayerDemo_Video.class); 
i.putExtra("path", path); 
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(i); 
+0

я не знаю, почему, по какой-то причине даже этот пример не отображает видео ... он воспроизводит только аудио – Vivekanand

+0

покажи мне ваш макет xml –

+0

ya i did ....... – Vivekanand

Смежные вопросы