2015年1月21日 星期三

using findviewbyid in a class that does NOT extend Activity in android

PlayVideo.java
import android.app.Activity;
import android.content.Context;
import android.media.MediaPlayer;
import android.net.Uri;
import android.util.Log;
import android.widget.MediaController;
import android.widget.VideoView;

import com.robot.main.R;

public class PlayVideo
{
 public Activity mActivity;
 Context mContext;
 final VideoView videoView;
 
 public PlayVideo(Context ctx, Activity _activity)
 {
  this.mActivity=_activity;
  mContext = ctx; 
  videoView = (VideoView)this.mActivity.findViewById(R.id.video); 
        }
 
 public boolean play()
 {
  String src = "http://nkgeastasia.cloudapp.net:9345/abcd.mp4";
  videoView.setVideoURI(Uri.parse(src));
  MediaController mediaController = new MediaController(this.mActivity.getApplicationContext()); 
  videoView.setMediaController(mediaController);
  videoView.requestFocus();
  videoView.start();
  videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
   @Override
   public void onCompletion(MediaPlayer mp)
   {
    videoView.start();
   }
  });
  return true;
 }
}



ABCD.java


public class ABCD extends Activity
{
 PlayVideo instance = new PlayVideo(ABCD.this, this);
 instance.play();
}
ref: Here

沒有留言:

張貼留言