2017-06-01 61 views
-6

公共类MainActivity扩展AppCompatActivity {如何在android系统从URL播放视频

@BindView(rv_home)

AAH_CustomRecyclerView recyclerView; 

private final List<MyModel> modelList = new ArrayList<>(); 

MyVideosAdapter mAdapter; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //Remove title bar 
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 

//删除通知栏 this.getWindow()。setFlags(WindowManager.LayoutParams .FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); ButterKnife.bind(this);

  1. 列表项

    Picasso p = Picasso.with(this); 
    
    modelList.add(new MyModel("http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70/v1481795681/2_rp0zyy.mp4", "http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70,so_0/v1481795681/2_rp0zyy.jpg", "video1")); 
    modelList.add(new MyModel("http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70/v1491561340/hello_cuwgcb.mp4", "http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70,so_0/v1491561340/hello_cuwgcb.jpg", "video2")); 
    modelList.add(new MyModel("http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70/v1481795675/3_yqeudi.mp4", "http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70,so_0/v1481795675/3_yqeudi.jpg", "video4")); 
    modelList.add(new MyModel("http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70/v1481795675/1_pyn1fm.mp4", "http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70,so_0/v1481795675/1_pyn1fm.jpg", "video5")); 
    modelList.add(new MyModel("http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70/v1491561340/hello_cuwgcb.mp4", "http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70,so_0/v1491561340/hello_cuwgcb.jpg", "video6")); 
    modelList.add(new MyModel("http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70/v1481795681/2_rp0zyy.mp4", "http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70,so_0/v1481795681/2_rp0zyy.jpg", "video9")); 
    modelList.add(new MyModel("http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70/v1481795676/4_nvnzry.mp4", "http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70,so_0/v1481795676/4_nvnzry.jpg", "video11")); 
    modelList.add(new MyModel("http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70/v1481795681/2_rp0zyy.mp4", "http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70,so_0/v1481795681/2_rp0zyy.jpg", "video12")); 
    modelList.add(new MyModel("http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70/v1481795675/3_yqeudi.mp4", "http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70,so_0/v1481795675/3_yqeudi.jpg", "video16")); 
    modelList.add(new MyModel("http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70/v1481795675/1_pyn1fm.mp4", "http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70,so_0/v1481795675/1_pyn1fm.jpg", "video17")); 
    modelList.add(new MyModel("http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70/v1481795681/2_rp0zyy.mp4", "http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70,so_0/v1481795681/2_rp0zyy.jpg", "video18")); 
    
    
    //you can pass local file uri, but make sure it exists 
    

    // modelList.add(新为MyModel( “/存储/模拟/ 0/VideoPlay/myvideo.mp4”, “http://res.cloudinary.com/krupen/video/upload/w_300,h_150,c_crop,q_70,so_0/v1481795681/2_rp0zyy.jpg”, “video18”));

    mAdapter = new MyVideosAdapter(modelList, p); 
    

    // LinearLayoutManager mLayoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(new LinearLayoutManager(getApplication())); //recyclerView.setLayoutManager(mLayoutManager); recyclerView.setItemAnimator(new DefaultItemAnimator());

    //todo before setAdapter 
    recyclerView.setActivity(this); 
    
    //optional - to play only first visible video 
    

    recyclerView.setPlayOnlyFirstVideo(true); //默认为false

    //optional - download videos to local storage (requires "android.permission.WRITE_EXTERNAL_STORAGE" in manifest or ask in runtime) 
    recyclerView.setDownloadPath(Environment.getExternalStorageDirectory() + "/MyVideo"); // (Environment.getExternalStorageDirectory() + "/Video") by default 
    
    recyclerView.setDownloadVideos(true); // false by default 
    
    //extra - start downloading all videos in background before loading RecyclerView 
    List<String> urls = new ArrayList<>(); 
    for (MyModel object : modelList) { 
        if (object.getVideo_url() != null && object.getVideo_url().endsWith(".mp4")) 
         urls.add(object.getVideo_url()); 
    } 
    recyclerView.preDownload(urls); 
    
    recyclerView.setAdapter(mAdapter); 
    //to init videos before scrolling 
    recyclerView.smoothScrollBy(0, 1); 
    recyclerView.smoothScrollBy(0, -1); 
    

    }}

+0

共享一些代码,没有做直到现在 – Abhishek

+0

尝试做一个很好的问题。你做了什么,什么是错误日志,显示代码等。 https://stackoverflow.com/help/how-to-ask – Shudy

+0

请先格式化代码,并添加一些关于你所做的事情的解释&错误日志或你已经陷入困境的地方 –

回答

0

声明你videoView

videoView=(VideoView)findViewById(R.id.videoView); 

然后deckare的MediaController

 try { 
     // Start the MediaController 
     MediaController mediacontroller = new MediaController(
       YourAvtivityNAme.this); 
     mediacontroller.setAnchorView(videoView); 
     // Get the URL from String VideoURL 
     Uri video = Uri.parse(Video_url); 
     videoView.setMediaController(mediacontroller); 
     videoView.setVideoURI(video); 

    } catch (Exception e) { 

     Log.e("Error", e.getMessage()); 
     e.printStackTrace(); 



    } 

准备的媒体播放器

videoView.requestFocus(); 
    videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     // Close the progress bar and play the video 
     public void onPrepared(MediaPlayer mp) { 
      progressDialog.dismiss(); 
      videoView.start(); 
     } 
    }); 
1

插入您的视频网址=“”;

onCreate方法类型验证码:

try { 

      MediaController mediacontroller = new MediaController(
        VideoViewActivity.this); 
      mediacontroller.setAnchorView(videoview); 

      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() { 

      public void onPrepared(MediaPlayer mp) { 

       videoview.start(); 
      } 
     }); 

    } 

或点击此链接..

http://www.androidhive.info/2014/12/how-to-play-youtube-video-in-android-app/