YouTubeプレーヤーのようなメディアプレーヤーを作成する必要があります。実際には、ビデオの再生にVideoViewを使用し、ビデオの制御にMediaControllerを使用する場合(MediaControllerのみが再生、一時停止、次、前、シークのオプションを提供します)。しかし、私のプレーヤーでは、もう1つのオプションを追加する必要がありますつまり、帯域幅です (3 つの帯域幅があり、帯域幅をクリックするとビデオが再生されます)。
3 に答える
私の知る限り、MediaController をカスタマイズする機会はあまりありません。そのため、UI の要件と実行する労力に応じて、2 つのオプションがあります。
難しい方法: Android MediaController を取り除き、独自のメディア コントローラーを実装することができます。これは、使用する必要がないためです。MediaPlayer (VideoView 経由) は、それを構築するために必要な関数を提供します: pause()、play()、resume() メソッド、および onPrepared、onStopped などのイベント リスナー。 MediaPlayer との対話をコーディングします (つまり、プログレス バーは単独では移動しません)。
簡単な方法: バンドウィズ ボタンを配置する別の場所 (たとえば、画面の上部) を見つけることができます。ボタンを MediaController の上に配置することもできます。
必要な GUI 要素を適切に組み合わせたレイアウトを作成するだけです。VideoView は、ボタンなどの他の GUI 要素と共に使用でき、RelativeLayout や LinearLayout などのレイアウト内にネストできます。
そのため、帯域幅ボタンを VideoView に隣接させたい場合は、LinearLayout を使用できます。MediaController のように帯域幅ボタンをビデオ サーフェス上に配置したい場合は、RelativeLayout を使用してレイヤーを適切に管理できます。
SurfaceView を見てください。これにより、ロジックをプレーヤーに制限しないというアイデアが得られます。