我正在尝试将来自 Flex Mobile 的录制音频消息存储在远程服务器中。在服务器端,我使用的是 java。当我录制它记录的内容并将 ByteArray 发送到服务器(BlazeDS)时,它是服务器端的 byte[] - 服务器 java 代码为我创建了那个 .mp3 文件,但是当我尝试播放它时,我根本无法播放 -它显示 00:00 的持续时间,但文件大小约为 400-500kbs,用于 3-4 秒的录制 --- 所以我认为问题不在于文件操作,而在于我创建 mp3 文件的方式。这是我的代码:
String path = "/Users/lbstr/sound";
File dir = new File(path);
if(!dir.exists()){
if(dir.mkdirs()){
System.out.println("REPORT: DIRECTORY CREATED!");
}else{
System.out.println("REPORT: ERROR ON CREATING DIRECTORY");
}
}else{
System.out.println("DIRECTORY EXISTS!");
}
File file = new File(dir,"voice.mp3");
if(!file.exists()){
file.createNewFile();
}
FileOutputStream fop = new FileOutputStream(file);
fop.write(bytes);
fop.flush();
fop.close();
在 flex 方面没什么大不了的——当用户点击停止按钮时,我只是使用麦克风并获取 ByteArray 数据。
问题出在哪里以及我应该如何解决?任何建议都非常感谢!