У меня есть два вида деятельности. Основное Activity.java и VideoViewActivity.java Я записываю видео, а затем создаю растровое изображение и сохраняю его в arraylist в Main Activity.java, тогда я прохожу мимо видеофайл (т. е. записанное видео) в VideoViewActivity, и там я пытаюсь воспроизвести видео в видео. когда я нажимаю на миниатюру она должна воспроизводить видео в VideoViewActivity но приложение рушится, когда я нажимаю на thumbnail.Where и то, что я делаю не так ?? Помогите plsss ..как воспроизвести записанное видео с использованием видеорекламы в другом виде
MainActivity
private List<Bitmap> bitMapsAvailable = new ArrayList<>();//Bitmaps of video files
private List<String> bitMapsFilePath = new ArrayList<>();//video files path
private void showThumbnails() {
LinearLayout layout = (LinearLayout) findViewById(R.id.thumbnails);
bitMapIndex = 0;
if (layout.getChildCount() > 0) {
layout.removeAllViews();
}
for (Bitmap eachBitMap : bitMapsAvailable) {
bitMapIndex++;
ImageView thumb = new ImageView(this);
thumb.setId(new Integer(bitMapIndex+ 17));
thumb.setLayoutParams(new android.view.ViewGroup.LayoutParams(100, 80));
thumb.setImageBitmap(eachBitMap);
thumb.setOnClickListener(previewThumb(thumb));
layout.addView(thumb);
CheckBox deleteCheckBox = new CheckBox(this);
deleteCheckBox.setId(new Integer(bitMapIndex));
deleteCheckBox.bringToFront();
deleteCheckBox.setOnClickListener(deleteRelatedThumbnail(deleteCheckBox));
layout.addView(deleteCheckBox);
CheckBox saveCheckBox = new CheckBox(this);
saveCheckBox.setId(new Integer(bitMapIndex + 31));
saveCheckBox.bringToFront();
saveCheckBox.setOnClickListener(saveRelatedThumbnail(saveCheckBox));
layout.addView(saveCheckBox);
String("check").concat(new Integer(checkTagNumber++).toString()));
}
}
View.OnClickListener previewThumb(final ImageView imageview) {
return new View.OnClickListener() {
public void onClick(View arg0) {
int index = imageview.getId()-18;
Intent myIntent = new Intent(MainActivity.this,
VideoViewActivity.class);
findViewById(R.id.VideoView);
Bundle bundle = new Bundle();
//Add your data to bundle
bundle.putString("url", bitMapsFilePath.get(index));
myIntent.putExtras(bundle);
startActivity(myIntent);
}
};
}
VideoViewActivity
public class VideoViewActivity extends Activity {
public VideoView videoview;
Bundle bundle = getIntent().getExtras();
String videoURL = bundle.getString("url");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.videoview_main);
videoview = (VideoView) findViewById(R.id.VideoView);
Toast.makeText(this, videoURL, Toast.LENGTH_SHORT).show();
try {
// Start the MediaController
MediaController mediacontroller = new MediaController(
VideoViewActivity.this);
mediacontroller.setAnchorView(videoview);
// Get the URL from String VideoURL
Uri video = Uri.parse(videoURL);
videoview.setMediaController(mediacontroller);
videoview.setVideoURI(video);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
videoview.requestFocus();
videoview.setOnPreparedListener(new OnPreparedListener() {
// Close the progress bar and play the video
public void onPrepared(MediaPlayer mp) {
videoview.start();
}
});
}
}
да ... но я я передавая значение от одного вида деятельности к другому правильно ?? – user7328722
Да, просто передайте свой Путь видео в другую деятельность, используя пучок или передайте намерение. – Naitik
взгляните на эту тему, http://stackoverflow.com/questions/8017374/how-to-pass-a-uri-to-an-intent –