

Android 4.4.2で`VideoView`を使って動画再生を行っています。  
動画はネットワークからhttp live streaming形式で配信をしています。

ボタンを押すと

[code]

    VideoView videoView = (VideoView) findViewById(R.id.videoview);
    videoView.seekTo(videoView.getCurrentPosition() + 15000);
    videoView.start();
    
[/code]

が呼ばれ、15秒進むといった処理を行っていますが、うまくいくときとうまくいかないときがあります。うまくいかないときには、動画画面が止まったままで再度ボタンを押しても動きません。  
なぜこのような事象になるのでしょうか？また解決方法などもあればご教授お願いします。


CC BY-SA 3.0
2015-09-01T10:01:13.367
15116
2015-09-02T12:25:50.017
2015-09-02T07:39:57.710
8593
8593
question
android
VideoViewでの動画再生で15秒進めると動画が止まることがある


以下のようにやってみましたが、現象は再現されませんでした。  
止まることなく再生されます。

目的の動作は  
・動画の準備ができたら、あらかじめ指定した秒数だけシークされて動画が始まる  
・その後、問題なく再生される  
でよいでしょうか。

[code]

        String VideoURL = "http://www.androidbegin.com/tutorial/AndroidCommercial.3gp";
        //String VideoURL = "http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8";
    
    
        VideoView videoview = (VideoView) rootView.findViewById(R.id.VideoView);
    
        try {
    
            mediacontroller = new MediaController(
                    this.getActivity());
            mediacontroller.setAnchorView(videoview);
    
            Uri video = Uri.parse(VideoURL);
            videoview.setMediaController(mediacontroller);
            videoview.setVideoURI(video);
    
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
    
        videoview.requestFocus();
        videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    
            public void onPrepared(MediaPlayer mp) {
                videoview.seekTo(videoview.getCurrentPosition() + 15000);
                videoview.start();
    
                handler.post(new Runnable() {
    
                    @Override
                    public void run() {
                        mediacontroller.setEnabled(true);
                        mediacontroller.show(0);
    
                    }
                });
            }
        });
    
[/code]


CC BY-SA 3.0
2015-09-02T12:25:50.017
15146
2015-09-02T12:25:50.017
7256
15116
answer