如何在Android的Exo Player中播放Vimeo私人文件

时间:2020-04-23 09:27:12

标签: java android video exoplayer2.x

private void getVideo() {
        String uri = baseUrl +videoId;
        VimeoClient.getInstance().fetchNetworkContent(uri, new ModelCallback<Video>(Video.class) {
            @Override
            public void success(Video video) {

                ArrayList<VideoFile> videoFiles = video.files;
                if(videoFiles != null && !videoFiles.isEmpty()) {
                    VideoFile videoFile = videoFiles.get(0); // you could sort these files by size, fps, width/height
                    String link = videoFile.getLink();

                    initializePlayer(link);
                }
               // playVideoWebView(video.embed != null ? video.embed.html : null);
            }

            @Override
            public void failure(VimeoError error) {
                // voice the error
                Log.d("video_", "failure: "+error.getDeveloperMessage());
            }
        });
    }

我得到了这样的链接:http://player.vimeo.com/external/ {videoId} .sd.mp4?s = {aKey}&profile_id = {aProfileId}&oauth2_token_id = {aToekn}

 private void initializePlayer(String url) {

        player = ExoPlayerFactory.newSimpleInstance(this);

        Uri uri = Uri.parse(url);
        MediaSource mediaSource = buildMediaSource(uri);
        playerView.setPlayer(player);
        player.setPlayWhenReady(playWhenReady);
        player.seekTo(currentWindow, playbackPosition);
        player.prepare(mediaSource, false, false);


    }

private MediaSource buildMediaSource(Uri uri) { 
    DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this, "exoplayer-codelab");
    return new ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(uri);
 } 

播放器屏幕为黑色,没有任何播放。

0 个答案:

没有答案