1

私のアプリケーションでは、リモート サーバーからビデオを表示しています。すべてが正常に機能しています。VideoView の .xml ファイルで次のコードを使用します。

<VideoView
    android:id="@+id/video"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_gravity="center"
    android:visibility="gone" >
</VideoView>

以下は、ビデオを再生するための私のコードです。

video.requestFocus();
video.setVideoURI(Uri.parse(ClipPath));
video.setMediaController(new MediaController( SubmitClipActivity.this) );
video.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
{
    public void onPrepared(MediaPlayer mp) 
    {
        video.start();
        if ( video.isPlaying() )
        {
            MyProgressDialog.Dismiss();
        }
    }
});
video.setOnErrorListener(new MediaPlayer.OnErrorListener() 
{
    public boolean onError(MediaPlayer mp, int what, int extra) 
    {
        MyProgressDialog.Dismiss();
        return false;
    }
});

問題は、アクティビティが表示されるたびに、次の画像のようにビデオの下にシークバーが表示されることです。

シークバー

一番下のシークバーを表示したくないだけです。それを隠すことは可能ですか?私はすでに VideoView のsetClickable()&setScrollContainer()メソッドを試しましたが、何も機能しませんでした。

4

2 に答える 2

1

MediaControllerクラスをご覧ください。カスタム コントロールを提供する場合は、クラスを拡張して実装を提供できます。メソッドを使用VideoView's setMediaControllerして、ユーザー定義のコントロールを割り当てます。全体videoView.setMediaController(null);を非表示にするために使用できます。の詳細については、このフォーラムを検索してくださいMediaControllerMediaController

于 2013-03-25T05:27:07.317 に答える
0

これを試して、

   @Override
public boolean onTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
    if (controllerCreated == false) {
        videoView.setMediaController(mc);
        mc.show();
        controllerCreated = true;
    }
    return true;
} else {
    return false;
}
}
于 2013-03-25T09:00:46.453 に答える