0

これで動画をキャッシュしようとしています

try {       
    URL oracle = new URL(url);
    URLConnection yc = oracle.openConnection();
    InputStream in = yc.getInputStream();

    File file = new File(getApplicationContext().getCacheDir() ,url);

    if(!file.exists()){
        file.setReadable(true);
        file.createNewFile();
        if (file.canWrite()){

            FileOutputStream out = new FileOutputStream(file);   

            byte[] buffer = new byte[1024];
            int len1 = 0;
            while ( (len1 = in.read(buffer)) > 0 ) {
                out.write(buffer,0, len1);
            }

            out.close();
        }

        in.close();

        Runtime.getRuntime().exec("chmod 755 "+getCacheDir() +"/"+ url);  
        videoView.setVideoPath("chmod 755 "+getCacheDir() +"/"+ url);

    }else {

        videoView.setVideoURI(Uri.parse(videoUrl));
    }
} catch (Exception e) {
    // TODO: handle exception
}
videoView.setVideoURI(Uri.parse(videoUrl));    
MediaController mc = new MediaController(VideoViewC.this);
videoView.setMediaController(mc);
videoView.requestFocus();
videoView.start();          
mc.show();

しかし、エラーjava.net.SocketException:接続がピアによってリセットされました。

何か提案があれば教えてください。

4

1 に答える 1

1

私は私の場合の問題を抱えています、そしてそれは特に私のhttpサーバーで構成されていました、それは適切に認証されないならクライアント接続を閉じただけです、それは私の質問です:

android-async-httpステータスコードとonFailureへの応答

httpserversの特殊性のために、おそらくあなたもそれを持っています

ビデオファイルのキャッシュを実装しましたか?

于 2013-11-29T12:22:48.073 に答える