禁用mediacontroller android的seekforward和seekbackward? [英] Disable seekforward and seekbackward of mediacontroller android?

查看:110
本文介绍了禁用mediacontroller android的seekforward和seekbackward?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在播放来自url的视频,并且我想禁用视频的搜索栏跟踪.怎么做.

I am playing a video from url and I want to disable the seekbar tracking of the video. How can it be done.

这是我的代码:

videoUrl = "http://download.itcuties.com/teaser/itcuties-teaser-480.mp4";
    videoview.setVideoPath(videoUrl);
    mediaController = new MediaController(this, false);
    int topContainerId = getResources().getIdentifier("mediacontroller_progress", "id", "android");
    seekBarVideo=(SeekBar)mediaController.findViewById(topContainerId);
    seekBarVideo.setEnabled(false);
    mediaController.setAnchorView(videoview);
    videoview.setMediaController(mediaController);

应用程序崩溃:seekBarVideo.setEnabled(false);

The app crashes: seekBarVideo.setEnabled(false);

java.lang.NullPointerException
        at com.vfirst.offers.VideoBufferActivity.onClick(VideoBufferActivity.java:93)
        at android.view.View.performClick(View.java:4575)
        at android.view.View$PerformClick.run(View.java:18578)
        at android.os.Handler.handleCallback(Handler.java:733)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5127)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641)
        at dalvik.system.NativeStart.main(Native Method)

推荐答案

能够借助此方法解决

需要在videoview的onPreparedListener中获取搜寻栏

Need to get seekbar in onPreparedListener of videoview

 videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            int topContainerId = getResources().getIdentifier("mediacontroller_progress", "id", "android");
            seekBarVideo = (SeekBar) mediaController.findViewById(topContainerId);
            seekBarVideo.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
                @Override
                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

                }

                @Override
                public void onStartTrackingTouch(SeekBar seekBar) {
                    seekBar.setEnabled(false);
                }

                @Override
                public void onStopTrackingTouch(SeekBar seekBar) {
                    seekBar.setEnabled(false);
                }
            });
        }
    });

这篇关于禁用mediacontroller android的seekforward和seekbackward?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆