我想使用 Vimeo 官方库在我的 android 应用程序中播放 Vimeo 视频:借助VideoView 或 ExoPlayer的Vimeo 网络库
原生播放的基本要求是:
用户必须登录。用户必须是视频的所有者。用户必须是 PRO 或更高版本(或应用程序必须具有“可以访问所有者的视频文件”功能)。令牌必须具有 video_files 范围。用户必须是发出请求的 API 应用的所有者。
我想使用 Vimeo 官方库在我的 android 应用程序中播放 Vimeo 视频:借助VideoView 或 ExoPlayer的Vimeo 网络库
原生播放的基本要求是:
用户必须登录。用户必须是视频的所有者。用户必须是 PRO 或更高版本(或应用程序必须具有“可以访问所有者的视频文件”功能)。令牌必须具有 video_files 范围。用户必须是发出请求的 API 应用的所有者。
这是我的完整代码,可帮助我使用 Vimeo 网络库在 android 应用程序中播放视频
呈现最终代码
public class PlayActivity extends AppCompatActivity {
VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play);
videoView = findViewById(R.id.player);
// Getting access Token
String accessToken = getString(R.string.access_token);
Configuration.Builder configBuilder = new Configuration.Builder(accessToken)
.enableCertPinning(false);
//Vimeo Client autenticated
VimeoClient.initialize(configBuilder.build());
// the video uri; if you have a video, this is video.uri
您应该使用这种格式的 URI,例如。我使用第二种格式的 URI https://api.vimeo.com/me/videos/123456789
final String uri = "https://api.vimeo.com/me/videos/123456789";
VimeoClient.getInstance().fetchNetworkContent(uri, new ModelCallback<Video>(Video.class) {
@Override
public void success(Video video) {
Toast.makeText(PlayActivity.this, "Sucessful" + video, Toast.LENGTH_SHORT).show();
ArrayList<VideoFile> videoFiles = video.files;
Log.i("TAG1", "videoFiles " + videoFiles);
if (videoFiles != null && !videoFiles.isEmpty()) {
VideoFile videoFile = videoFiles.get(0); // you could sort these files by size, fps, width/height
String link = videoFile.getLink();
Log.i("TAG2", "link " + link);
// load link
// use the link to play the video by **EXO Player** or **Video View**
// Start your video player here
}
}
@Override
public void failure(VimeoError error) {
Log.i("TAG3", "vimeo error : " + error.getErrorMessage());
Toast.makeText(PlayActivity.this, "failure due to " + error.getErrorMessage(), Toast.LENGTH_SHORT).show();
}
});
}
}