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 がアンドロイド 2.3.6 で黒い画面が表示されたと言ったように、音楽とビデオコントローラーは正常に動作します。

解決策を見つけました。このコードを入力してください

videoHolder.setType( SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS );

この後

videoHolder.addCallback( this );

そして、あなたは行く準備ができています

于 2014-02-14T19:07:30.170 に答える