2012-03-10 8 views
0

私は構築しているAndroidアプリでVideoViewオブジェクトを使用して動画を再生しています。私は標準のMediaControllerを使用したくないが、私自身の実装を望む。それは素晴らしいか余分なものを持つ必要はありませんが、私はコントロールの配置と外観を正確に制御できる必要があります。私は次の(醜い!)「解決策」を思いついた。私は "解決策"と言います。これは、他のいくつかのことが今や間違っているように見えるため、私が解決した方法と関係があるかどうかはまだ分かりません。私はへの参照を保持オーバーライドさsetMediaPlayer方法でMediaControllerのハックによるカスタムAndroid MediaController。必要?

  • 使用する標準VideoViewオブジェクト
  • サブクラスのMediaController
  • オーバーライド非表示()、ショー()などのメソッド
  • :私は今、次のことをやっています
  • (グラフィックス部分を除く)クラス内のほとんどすべての通常のMediaControllerの動作を複製し、親クラスのメソッドを無視します。

私はデフォルトのVideoViewを使いたいが、私自身は書きません(これを試しましたが、これは長い時間がかかり予期しない動作をしました)。私が基本的にやっていることは、MediaControllerのこのサブクラスをMediaControllerとしてポーズさせることです。 1つのクラスに2つのほぼ同じクラスがあるようなものです。元のMediaControllerクラスは、サブクラス化されたオブジェクトをVideoViewに渡すためにのみ使用されます。本当に扱いにくいですね。このための正しいアプローチは何ですか?

ジョリス

答えて

0

私は実際にはかなり愚かです。 MediaPlayerにアクセスするMediaControllerサブクラスで使用するすべてのメソッドは、VideoView(getCurrentDuration()、getBufferPercentage()、pause()、start()など)に直接アクセスできるメソッドです。だから私はちょうど私のMediaControllerをObjectのサブクラスにして、同じ機能にアクセスできるようにVideoViewをコンストラクタに渡すことができます。

関連する問題