将音频、mp3 文件转换为字符串,反之亦然

Posted

技术标签:

【中文标题】将音频、mp3 文件转换为字符串,反之亦然【英文标题】:convert audio,mp3 file to string and vice versa 【发布时间】:2011-09-02 10:13:51 【问题描述】:

是否可以将音频 mp3 文件转换为字符串文件,或者读取 mp3 文件并写入文本文件,反之亦然?

如果可能,那怎么办?另外,文本文件的大小会大于或等于原始 mp3 或音频文件吗?

【问题讨论】:

你的意思是一个String代表什么?..文件的二进制内容还是对音频的一些理解?还有什么? 字节或任何表示但输出与输入相同的字符串,用于创建音频或 mp3 文件的创建时间 你想问的有点不清楚。您想知道是否可以将音频文件转换为字符串或类似的东西吗? 【参考方案1】:

像 mp3 文件一样,所有文件都是简单的二进制编码数据,可以根据您用于查看该数据的内容进行不同的解释。

如果您问是否可以将音频文件转换为字符串,那么这是一个不正确的问题,因为二进制数据仅在给定字符编码时才被视为字符串(您可以在记事本中打开您的 mp3 文件,然后'如果需要,请阅读)。

但是,如果您要问如何从 mp3 文件读取并写入另一个文件,那么这就是它的代码。

public String readFile(String filename) 

    // variable representing a line of data in the mp3 file
    String line = "";

    try 
        br = new BufferedReader(new FileReader(new File(filename)));

        while (br.readLine() != null) 
          line+=br.readLine

        try 
            if (br == null) 

                // close reader when all data is read
                br.close();
            

         catch (FileNotFoundException e) 
            e.getMessage();
         catch (IOException e) 
            e.printStackTrace();
        

     catch (FileNotFoundException e) 
        e.getMessage();
     catch (IOException e) 
        e.printStackTrace();
    

然后通过调用第二个文件中的文件读取器方法写入另一个文件。

public void outputData(String outputFile) 

            try 

        // Create file
        FileWriter fileStream = new FileWriter(outputFile);
        BufferedWriter writer = new BufferedWriter(fileStream);

        writer.write(readFile(THE MP3 FILE DIRECTORY));

        // Close writer
        writer.close();

        // Handle exceptions
     catch (Exception e) 
        e.printStackTrace();
    

【讨论】:

【参考方案2】:

文件是字节,当然可以解释为给定编码的字符。

我建议在这里使用Base64 编码。在这种情况下,输出文件将大 33%。

【讨论】:

以上是关于将音频、mp3 文件转换为字符串,反之亦然的主要内容,如果未能解决你的问题,请参考以下文章

如何将音频文件转为base64 编码

使用python将任何音频文件转换为mp3

如何将flac格式的音频文件转换为MP3格式?

将通过 AlamoFire 下载的 MPEG 音频文件转换为 mp3 文件

如何将mp3等音频文件转换为asf格式?

使用 C# 中的 NAudio 将 M4A 音频文件转换为 MP3 的问题/错误