安卓自定义MediaPlayer类

7

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

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

到目前为止,我尝试过:

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

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

3个回答

1

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

只需按照您想要的方式创建屏幕上的控件(按钮/图像),并将播放控制代码绑定到它们的事件。

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

<VideoView 
    android:id="@+id/myVideoView" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:clickable="false" >

1
+1 对于你的努力和一些有用的提示。是的,使用VideoView可以构建一个播放器,并且还可以自定义控件。我想创建一个类似于MediaPlayer类的自定义类,这可能会有点复杂。 - Lazy Ninja

1

1
这可能不会有帮助,但是对于音乐播放器,你可以创建一个Java类,并创建你的MediaPlayer,命名为public你的名字继承MediaPlayer。参考Vanilla音乐的GitHub,搜索Vanilla音乐播放器并将类复制到你的应用程序中,然后修改一些东西,比如请求音频效果,对于均衡器,我在我的类中的onPrepared方法中放入了自定义内容和不完整监听器,然后简单地将MediaPlayer player = new MediaPlayer更改为例如我的名字我从Vanilla MediaPlayer中使用,所以说VanillaMediaPlayer player或变量= new VanillaMediaPlayer,这样也有助于减少工作量,然后根据你的需要使用,希望这有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接