0

Android アプリで ZipOutputStream を使用して、mp3 ファイルをパッケージ化およびエクスポートしています。パッケージとエクスポートは正常に機能しているように見えますが、ファイルを抽出すると再生できません。file出力に対してコマンドを実行すると、ファイルの種類が として表示されdataます。圧縮する前に、ファイルの種類はAudio. ファイルを圧縮するために使用しているコードは次のとおりです。

 protected File compressFiles(File outputFile, File... inputFiles) {

    int bufferSize = 1024 * 4; // 4KB
    ZipOutputStream zipOutputStream = null;
    try {
        OutputStream fileOutputStream = new FileOutputStream(outputFile);
        zipOutputStream = new ZipOutputStream(new BufferedOutputStream(fileOutputStream));
        int count = inputFiles.length;
        File file = null;
        for (int i = 0; i < inputFiles.length; i++) {
            file = inputFiles[i];

            String fileName = file.getName();
            ZipEntry entry = new ZipEntry(fileName);
            entry.setTime(file.lastModified());
            FileInputStream inputStream = new FileInputStream(file);
            BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);

            zipOutputStream.putNextEntry(entry);
            byte[] buffer = new byte[bufferSize];
            int bytesRead;
            while ((bytesRead = bufferedInputStream.read()) != -1) {
                zipOutputStream.write(buffer, 0, bytesRead);
            }

            zipOutputStream.closeEntry();
            inputStream.close();
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (zipOutputStream != null) {
            try {
                zipOutputStream.finish();
               // zipOutputStream.flush();
                zipOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    return outputFile;
}
4

1 に答える 1