55

我想为我的视频播放器自定义 MediaController 中的控件。我想换掉播放按钮的图像,改变皮肤,改变颜色,等等。

有没有已知的方法可以做到这一点?

谢谢

4

2 回答 2

105

我在最近的一个项目中遇到了同样的问题,最终创建了一个基于股票 MediaController 的自定义实现。它在最右边添加了一个全屏按钮,但即使这不是你想要的,这个类也应该是一个很好的起点。

代码:

图片资源:

  • 在此处输入图像描述
  • http://imgur.com/JYJGN
  • http://imgur.com/R0txq
  • http://imgur.com/dQ6wA

陷阱:

  • 该类假定锚视图是一个 FrameLayout 以将其自身定位在底部。
  • 该类不使用 Window 来确保控件浮动在锚点之上。但是,这对我来说不是问题,因为 show() 方法每次都会执行 mAnchor.addView() 。
  • 该类使用自己的 MediaPlayerControl 协议。这允许自定义,例如 toggleFullScreen()

更新(2013):有关更多详细信息,请参阅本教程:http ://www.brightec.co.uk/blog/custom-android-media-controller

更新(2018 年):您现在可以使用出色的 ExoPlayer 并通过覆盖布局文件来完全自定义您的播放器 UI。

于 2013-01-14T17:07:17.327 回答
-6

我对其进行了测试,它在 4.4 kitkat 上运行良好,但就像 KAPLANDROID 所说的黑屏出现在 android 2.3.6 上但音乐和视频控制器工作正常,

找到了解决办法,放上这段代码

videoHolder.setType( SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS );

在这之后

videoHolder.addCallback( this );

你准备好了

于 2014-02-14T19:07:30.170 回答