我正在开发原生android中的vimeo视频应用程序。但VideoView
不支持此功能。我可以知道Android的任何示例或相关查询。我希望最终输出为.mp3 / .mp4格式。
我在Android iframe
中尝试了WebView
,它在Android WebView
中运行良好,但我无法获得搜索栏。并且OnPause()
无法暂停视频。
在这里,我可以获得暂停和播放按钮
示例:player.vimeo.com/video/49462103
我想在Android原生播放此视频
<VideoView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/videoView"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
更新链接: Vimeo site Thread-1 Vimeo site Thread-2
我遇到了错误
答案 0 :(得分:4)
Vimeo的嵌入代码应该在Android WebView中运行。 Vimeo仅为这些用户拥有的视频提供.mp4链接指向PRO用户。
另一种选择是使用official Deep Link library作为Android应用程序。这将允许您在Android应用中打开任何vimeo视频。
答案 1 :(得分:2)
您可以使用 Exoplayer 播放vimeo视频。 Exoplayer更可定制。您需要做的就是从视频配置链接中提取网址链接。您可以使用 retrofit 提取视频网址。
BASE_URL =“ https://player.vimeo.com/video/”
您将需要使用如下所示的get方法:
@GET("{id}/{config}")
Call<JsonObject>getVideoLink(@Path("id") String id, @Path("config") String config);
您将从视频链接获取ID。示例:“ https://vimeo.com/123456789/”,此处的ID为:123456789。
JsonObject jsonObject = response.body();
JsonObject req = jsonObject.getAsJsonObject("request");
JsonObject file = req.getAsJsonObject("files");
JsonArray arr = file.getAsJsonArray("progressive");
String url = arr.get(0).getAsJsonObject().get("url").getAsString();
// Build the media item.
MediaItem mediaItem = MediaItem.fromUri(url);
// Set the media item to be played.
player.setMediaItem(mediaItem);
// Prepare the player.
player.prepare();
// Start the playback.
player.play();
别忘了先启动 Exoplayer 。
答案 2 :(得分:1)
我基于WebView为vimeo制作了本地播放器。支持公共和私人视频。
尝试:https://github.com/ct7ct7ct7/Android-VimeoPlayer
<com.ct7ct7ct7.androidvimeoplayer.view.VimeoPlayerView
android:id="@+id/vimeoPlayer"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
VimeoPlayerView vimeoPlayer = findViewById(R.id.vimeoPlayer);
getLifecycle().addObserver(vimeoPlayer);
//public video
vimeoPlayer.initialize(59777392);
//If video is open. but limit playing at embedded.
vimeoPlayer.initialize({YourPrivateVideoId}, "SettingsEmbeddedUrl")
//If video is pirvate.
vimeoPlayer.initialize({YourPrivateVideoId},"VideoHashKey", "SettingsEmbeddedUrl")