11

我正在开发原生 android 中的 vimeo 视频应用程序。但它不支持在VideoView. 我可以知道 Android 的任何示例或相关查询吗?我希望最终输出为 .mp3/.mp4 格式。

我已经在 Android 中尝试过iframeWebView它在 Android 中运行良好,WebView但我无法获得搜索栏。并且OnPause()无法暂停视频。在这里我只能获得暂停和播放按钮

在此处输入图像描述

示例:player.vimeo.com/video/49462103

我想在 android native 中播放这个视频

 <VideoView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/videoView"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true" />

更新链接: Vimeo 站点 Thread-1 Vimeo 站点 Thread-2

在此处输入图像描述

我得到了错误

4

3 回答 3

8

我为 vimeo 制作了一个本地播放器,基于 WebView。支持公共和私人视频。

试试看: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")
于 2019-01-18T10:59:52.700 回答
5

Vimeo 的嵌入代码应该在 Android WebView 中工作。Vimeo 仅在这些用户自己的视频中向 PRO 用户提供 .mp4 链接。

另一种选择是为 android 应用程序使用官方的 Deep Link 库。这将让您在 Android 应用程序中打开任何 vimeo 视频。

于 2016-02-22T00:28:52.967 回答
2

您可以使用Exoplayer播放 vimeo 视频。Exoplayer 更具可定制性。您只需要从视频配置链接中提取 url 链接。您可以使用改造来提取视频网址。

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

于 2020-10-07T06:53:30.603 回答