将音频、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 文件转换为字符串,反之亦然的主要内容,如果未能解决你的问题,请参考以下文章