Android如何在按钮上单击设置Media Player(Videoview)?

时间:2011-05-31 07:59:30

标签: android button onclick media-player android-videoview

我写了一个从网址播放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活动,但我不知道如何。

0 个答案:

没有答案