我写了一个从网址播放3gp视频的应用,一切正常,但只是可以打开一个活动的视频,这意味着我必须为我将在我的应用中显示的每部电影设置一个活动,那将是太多。
我会点按一下按钮打开我的视频,这样我就可以在一个活动中编写20个链接!
这是我的代码作为一个单独的活动:
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
public class videoact extends Activity implements OnPreparedListener{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.videoview);
MediaController mc = new MediaController(this);
VideoView vv = (VideoView)findViewById(R.id.view1);
try
{
Uri ur = Uri.parse("rtsp://v4.cache4.c.youtube.com/CjgLENy73wIaLwkHCCLABs2fehMYJCAkFEIJbXYtZ29vZ2xlSARSB3JlbGF0ZWRg7e7u0PeUj8hMDA==/0/0/0/video.3gp");
vv.setVideoURI(ur);
vv.setMediaController(mc);
vv.requestFocus();
vv.start();
mc.show();
}
catch(Exception e)
{
System.out.print(e.getMessage() + "error");
}
}
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.start();
}
}
如果我尝试在它前面做一个按钮:
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;
public class videoact extends Activity implements OnPreparedListener{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button next1 = (Button) findViewById(R.id.button1);
next1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
//here Eclipse say"The constructor MediaController(new View.OnClickListener(){}) is undefined"
//and gives an error
MediaController mc = new MediaController(this);
VideoView vv = (VideoView)findViewById(R.id.view1);
try
{
Uri ur = Uri.parse("rtsp://v4.cache4.c.youtube.com/CjgLENy73wIaLwkHCCLABs2fehMYJCAkFEIJbXYtZ29vZ2xlSARSB3JlbGF0ZWRg7e7u0PeUj8hMDA==/0/0/0/video.3gp");
vv.setVideoURI(ur);
vv.setMediaController(mc);
vv.requestFocus();
vv.start();
mc.show();
}
catch(Exception e)
{
System.out.print(e.getMessage() + "error");
}
}
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.start();
}
}
在第二个版本中,我将设置内容视图更改为“main” button1应该开始播放视频的按钮!
也许我无法解释自己!我需要做的是我有一个活动(MainActivity)我加载了一个布局。在这个布局中,我有不同电影的封面,封面是按钮。 如果我对封面进行封面,媒体播放器应该开始播放我之前编写的代码,我的问题是我写的代码是另一个活动让我打电话给他(Movie1),如果我这样做,我必须为每个电影创建一个活动,这是我想的很多,让我们说它将超过40个活动,如果你说40个活动并不比我没有问题,或者只是告诉我如何点击按钮点击我的活动(MainAcitivity)从URL文件中打开视频而不打开Movie1活动!
我想我必须创建一个空白的MediaPlayer活动,我可以说按下按钮点击x此URL与我的MediaPlayer活动,但我不知道如何。