gpt4 book ai didi

java - 安卓 : Copy RawFile to Sdcard (video mp4)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:53:49 26 4
gpt4 key购买 nike

这段代码有什么问题?
我的项目中有一个 Raw 文件(mp4 视频文件),
当我这样做时,然后我从 SD 卡文件中检索到的文件不相同,因此无法加载视频 :(
有没有其他方法可以自动将原始文件复制到 sdcard?
谢谢

String FICHIER_BLOW = "blowvid4.mp4";
File f=new File(Environment.getExternalStorageDirectory(), FICHIER_BLOW);
try {
if (f.createNewFile()){
FileWriter ecrivain = new FileWriter(f);
BufferedWriter bufEcrivain = new BufferedWriter(ecrivain);
BufferedInputStream VideoReader = new BufferedInputStream(getResources().openRawResource(R.raw.blow));
while( VideoReader.available() > 0 ){
bufEcrivain.write(VideoReader.read());
}
bufEcrivain.close();

VideoView videoView = (VideoView) findViewById(R.id.VideoView);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
video =Uri.fromFile(f);
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

最佳答案

如果您使用 InputStream 进行读取,请使用 OutputStream 进行写入,即 BufferedOutputStream 包装的 FileOutputStream。此外,您的代码效率很低,因为它一次只复制一个字节。我建议创建一个字节数组缓冲区并使用这些相关的读/写方法:

int BufferedInputStream.read(byte[] buffer, int offset, int length)
void BufferedOutputStream.write(byte[] buffer, int offset, int length)

关于java - 安卓 : Copy RawFile to Sdcard (video mp4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3367894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com