7

我刚刚完成了一个使用 webwiew 进行视频播放的项目。现在我被要求用自定义播放器替换 webview 部分。播放器应该能够处理 HLS。

如果我使用 VideoView 和 MediaController,我可以播放直播。但不幸的是,MediaController 有自己的控件。我想要我自己的控件,这就是我卡住的地方。

到目前为止,我尝试过:

  1. 重新编写 MediaController 类并尝试更改布局。它不起作用,因为由于依赖关系,我无法清除所有错误。
  2. 我尝试使用 vidtry 代码(http://github.com/commonsguy/vidtry)作为参考,但没有运气。
  3. 我试图构建一个扩展 MediaController 的类,但这也不起作用。

我几乎参与了 Stackoverflow 上关于自定义媒体播放器的每个线程,但找不到让我开始的信息。
是否可以在不使用 NDK 的情况下创建自定义媒体播放器类?
如果有人知道如何创建自定义媒体播放器类,请帮助我。

4

2 回答 2

1

您可以单独使用 VideoView 并调用它的方法来控制播放,例如start()stopPlayback()pause()resume()seekTo()等。(请参阅此处的类参考:http: //developer.android .com/reference/android/widget/VideoView.html )

只需根据需要创建屏幕控件(按钮/图像)并将播放控制代码代码绑定到它们的事件。

您还需要通过删除 layout.xml 中的 touchable 属性来禁用内置的 VideoView 控件...

<VideoView 
    android:id="@+id/myVideoView" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:clickable="false" >
于 2012-11-12T23:16:56.407 回答
1

我推荐使用 VLC,因为它支持几乎所有的视频格式,当然还有流媒体。您可以尝试从 github 获取预编译的 libvlc AAR 文件或自己编译 VLC:AndroidCompile

您可以在此处找到预编译 libvlc 的示例: https ://github.com/mrmaffen/vlc-android-sdk

这不是最新版本,我相信它会满足您的需求。接下来,您将需要围绕库创建代码。示例: https ://github.com/Ivshti/libvlc-android-sample

于 2018-07-04T11:57:38.227 回答