繁体   English   中英

android 中的自定义媒体播放器 class

[英]Custom MediaPlayer class in android

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

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

到目前为止我试过:

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

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

您可以自己使用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" >

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

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

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

这可能无济于事,但我知道对于音乐播放器,您只需创建 java class,然后创建您的媒体播放器,名称为 public your name extends mediaplayer。 参考香草音乐 github,搜索香草音乐播放器并将 class 复制到您的应用程序并更改一些内容,例如请求音频效果,对于均衡器,我为我的 class 准备了自定义内容,以及不完整的监听器,然后只需更改 Mediaplayer 播放器 = new Mediaplayer,例如我的名字,我从 vanilla mediaplayer 使用,然后说 VanillaMediaplayer 播放器或变量 = new VanillaMediaplayer 它也有助于减少工作量,然后按您的意愿使用,希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM