下面链接有提到把base64转字节数组,写入文件流,一次写入所有字节,得到的文件依然是0字节,一个个的写速度非常慢,并且音频文件无法播放
http://ask.dcloud.net.cn/question/7979
图片可以通过bitmap保存,非图片格式呢?如我现在需要的音频,向各位请教
下面链接有提到把base64转字节数组,写入文件流,一次写入所有字节,得到的文件依然是0字节,一个个的写速度非常慢,并且音频文件无法播放
http://ask.dcloud.net.cn/question/7979
图片可以通过bitmap保存,非图片格式呢?如我现在需要的音频,向各位请教
nick01 (作者)
已解决,折腾了好几天才找出正确方法来,如下,提出的问题基本得不到帮助,只能靠自己摸索了
if(mui.os.android){
var Base64 = plus.android.importClass("android.util.Base64");
var File = plus.android.importClass("java.io.File");
var FileOutputStream = plus.android.importClass("java.io.FileOutputStream");
var dir = new File(path);
if (!dir.exists()) dir.mkdirs();
try{
var out = new FileOutputStream(path+name);
var bytes = Base64.decode(base64Str.replace('data:audio/amr;base64,',''), Base64.DEFAULT);
out.write(bytes);
out.close();
callback && callback(name,extra);
}catch(e){
console.log(e.message);
}
}else if(mui.os.ios){
var NSData = plus.ios.importClass('NSData');
var nsData = new NSData();
nsData = nsData.initWithBase64EncodedStringoptions(base64Str,0);
nsData.plusCallMethod({writeToFile:path+name,atomically:true});
plus.ios.deleteObject(nsData);
callback && callback();
}
2***@qq.com
您好,nsData.initWithBase64EncodedStringoptions(base64Str,0)的结果是undefined,base64Str是从后台返回的JSON中拿到的数据,你遇见过这种问题吗
2016-11-10 18:37