我正在使用 Pac-12 API(大学体育数据)并尝试制作流媒体视频播放器。
Pac-12 API ( http://api.pac-12.com/v3/vod?page=0" ) 会返回一个视频对象列表,其中包含视频点播 (VOD) 的 URL。
我在 Android 中设置了 exo 播放器,它适用于网址以 .mp4 结尾的视频。
但是当我尝试插入 VOD url 时,它会给出一个错误,它无法提取文件类型。
我正在使用 exo 播放器 2.8.4,这可能是也可能不是问题。但是较新版本的 exo 播放器(2.9.0 及更高版本)具有 min sdk 26(我的测试手机无法运行)。
我正在努力检查这是否是问题所在,但与此同时,我想发布这个问题,以防有人能提供帮助。
这是我的exo播放器设置。mediaUrl 是适用于 .mp4 但不适用于 VOD url 的变量。
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(
context, Util.getUserAgent(context, "RecyclerView VideoPlayer"));
String mediaUrl = mediaObjects.get(targetPosition).getMedia_url();
if (mediaUrl != null) {
MediaSource videoSource = new ExtractorMediaSource.Factory(dataSourceFactory)
.createMediaSource(Uri.parse(mediaUrl));
videoPlayer.prepare(videoSource);
videoPlayer.setPlayWhenReady(true);
}
VOD url 最后没有给出文件类型扩展名,所以我尝试将“.vod”连接到 mediaUrl 变量上,但没有运气。
从网上阅读看来,exo 播放器似乎支持 VOD,但我找不到太多关于设置可能有何不同的信息。
这是指向 Pac-12 VOD 之一的直接链接。这与 API 返回的 url 相同。