Друзья Я хочу воспроизводить видео в виде видео, которое доступно в списках. Меня не устраивает текущий код, так как он не воспроизводится, кроме первого видео. Мое требование - когда я нажимаю кнопку на просмотре видео в любом элементе списка, должен играть эффективно.Воспроизведение видео с использованием видеообзора в Listview
Ниже представлен мой адаптер, который я установил в списке, чтобы показать все видео, загруженные с URL-адреса, и одним нажатием кнопки воспроизвести его в режиме видеосъемки, скрывая кнопку воспроизведения.
public class RantAdapter extends AbsAdapter {
public RantAdapter(Activity activity, ArrayList<RantModel> rantList) {
super(activity, rantList);
}
GestureDetector mGestureDetector;
TextView likeCount = null;
TextView RantTitle = null;
VideoView videoView = null;
ImageView author = null;
ImageView videoImageUrl = null;
TextView author_name = null;
TextView commentCount = null;
OnGestureListener mGesturelistener;
Button playVideo;
Uri uri;
@Override
public View getView(int position, View view, ViewGroup parent) {
super.getView(position, view, parent);
LayoutInflater inflater = (LayoutInflater) mActivity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater
.inflate(R.layout.rant_row_layout, parent, false);
RantModel rantModel = mListContent.get(position);
RantTitle.setText(rantModel.title);
author.setImageBitmap(loadImageFromURL(rantModel.author_image_url));
author_name.setText(rantModel.author_name);
likeCount.setText(rantModel.view_count);
commentCount.setText(rantModel.comment_count);
videoImageUrl.setImageBitmap(loadImageFromURL(rantModel.content_image_url));
final String videoUrl = rantModel.content_url;
uri = Uri.parse(videoUrl);
playVideo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
playVideo.setVisibility(View.GONE);
videoImageUrl.setVisibility(View.INVISIBLE);
MediaController mediacontrol = new MediaController(mActivity);
mediacontrol.setAnchorView(videoView);
videoView.stopPlayback();
videoView.setMediaController(mediacontrol);
videoView.setVideoURI(uri); // videoView.seekTo(100);
videoView.requestFocus();
videoView.setZOrderOnTop(true);
videoView.start();
}
});
return rowView;
}}