web-dev-qa-db-ja.com

Android MediaControllerのカスタムUIを作成する方法

ビデオプレーヤー用にMediaControllerのコントロールをカスタマイズしたい。再生ボタンの画像を交換し、スキンを変更し、色を変更したい、など。

これを行う既知の方法はありますか?

ありがとう

51
user1681001

私は最近のプロジェクトでも同じ問題を抱えていたため、最終的には標準のMediaControllerに基づいてカスタム実装を作成しました。右端にフルスクリーンボタンが追加されますが、それが望んでいない場合でも、このクラスは出発点として適切です。

コード:

画像リソース:

  • enter image description here
  • http://imgur.com/JYJGN
  • http://imgur.com/R0txq
  • http://imgur.com/dQ6wA

落とし穴:

  • このクラスは、アンカービューがそれ自体を下部に配置するFrameLayoutであると想定しています。
  • このクラスは、アンカーの上部でコントロールがフロートすることを保証するためにウィンドウを使用しません。ただし、show()メソッドは毎回mAnchor.addView()を実行するため、これは私にとっては問題ではありません。
  • クラスは独自のMediaPlayerControlプロトコルを使用します。これにより、toggleFullScreen()などのカスタマイズが可能になります

EDIT(2013):詳細については、このチュートリアルを参照してください: http://www.brightec.co.uk/blog/custom- Android-media-controller

EDIT(2018):素晴らしいExoPlayerを使用し、レイアウトファイルをオーバーライドするだけでプレーヤーUIを完全にカスタマイズできるようになりました。

100
Blago