2012-02-14 72 views
1

更新在2012年2月18日如何添加按钮以使用MediaController播放视频?

我收到的按钮应该是怎样从我的忙导师的答复,他说,这应该是的MediaController按键(播放,上一个和下),我认为它应该是总是显示在屏幕上而不是自定义按钮。我不认为有播放按钮的onclicklistener。是否有播放按钮单击的监听器(除了我的代码示例中的onCreate活动)。我试图不必使用意图开始另一项活动。谢谢!


我的作业项目是修改现有的项目(使用的MediaPlayer和MediaRecorder类其中拍摄有声)加入一个按钮(我认为这是我必须要创造而不是当的MediaController被显示的播放按钮)使用MediaController单击时播放视频。我试图这样做,但我添加的代码无法播放视频。我的课堂教材中的例子使用MediaController的Play按钮,所以我想学习如何让自定义按钮首先播放视频。然后处理将其整合到现有项目中。请指点我现有的示例代码或指导我进行这项工作。谢谢!


今天,我继续创建了一个单独的项目,它只有一个使用MediaController播放视频的按钮。正如所料,它仍然不起作用(无法启动视频,NullPointerException)。我介绍下面的项目文件。我现在无能为力。请指出一两件事让我开始解决问题。再次感谢!

package com.mypackage; 

import java.io.File; 
import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.MediaController; 
import android.widget.Toast; 
import android.widget.VideoView; 
import android.content.Context; 
import android.os.Environment; 

public class MediaActivity extends Activity { 

private String path; 
J 
private VideoView vd; 
//private Context context; 
private String TAG = " "; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    //context = this; 

    Button playVideoBtn =(Button)findViewById(R.id.playVideo); 

    playVideoBtn.setOnClickListener(new OnClickListener(){ 

     public void onClick(View v){ 
      try { 
       playVideo(); 
      } catch (Exception ex) { 
       Log.e(TAG, "Failed to Start Playing the video", ex); 
      } 

       } 
    }); 
} 

private void playVideo() throws Exception { 

    vd = (VideoView) findViewById(R.id.surface_view); 

    File directoryPath = Environment 
    .getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES); 
    directoryPath.mkdirs(); 

    path = directoryPath.toString() + "/Familyguy_Has_Own_Orbit.3gp"; 

    if (path == "") { 
     // Tell the user to provide a media file URL/path. 
     Toast.makeText(MediaActivity.this, "Please edit MediaActivity, and set path" 
     + " variable to your media file URL/path", Toast.LENGTH_LONG).show(); 

    } else { 

     vd.setVideoPath(path); 
     vd.setMediaController(new MediaController(this));   
     vd.requestFocus(); 
     vd.start(); 
    }  
} 


} 

这里是我的布局文件:

main.xml中

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

    <Button 
     android:id="@+id/playVideo" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Playing Video"/> 

</LinearLayout> 

Videoview.xml

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

    <VideoView 
     android:id="@+id/surface_view" 
     android:layout_width="320px" 
     android:layout_height="240px" 
    /> 

</LinearLayout> 
+0

http://stackoverflow.com/questions/8681550/android-2-2-mediaplayer-is-working-fine-with-one-shoutcast-url-but-not-with-the – 2012-02-15 06:10:06

回答