php base64 转 amr,base64转amr文件

function dataURL2Audio(fname, base64Str, callback) { //base64转amr文件

var mv = base64Str || '';

if(typeof callback != 'function' || mv == '') return;

fname = fname || ((new Date()).getTime());

fname = (fname.indexOf('.amr') == fname.length - 4) ? fname : fname + '.amr';

var audioName = '_doc/audio/' + fname;

plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) {

fs.root.getFile(audioName, {

create: true

}, function(entry) {

var fullPath = entry.fullPath;

if(mui.os.android) {

var Str = plus.android.importClass("java.lang.String");

var FileOutputStream = plus.android.importClass("java.io.FileOutputStream");

try {

var myatb, bstr;

var out = new FileOutputStream(fullPath);

var mystr = atob(mv);

var mlen = mystr.length;

var sstr = '';

while(mlen > 0) {

mysub = mystr.substr(0, 1000);

mystr = mystr.substr(1000);

mlen = mystr.length;

myatb = new Str(mysub);

bstr = myatb.getBytes("ISO8859-1");

out.write(bstr);

}

out.close();

callback && callback(entry); // 回调

} catch(ex) {

console.log('写入失败');

}

} else if(mui.os.ios) {

var NSData = plus.ios.importClass('NSData');

var nsData = new NSData();

nsData = nsData.initWithBase64EncodedStringoptions(mv, 0);

if(nsData) {

nsData.plusCallMethod({

writeToFile: fullPath,

atomically: true

});

plus.ios.deleteObject(nsData);

}

callback && callback(entry); // 回调

}

})

})

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值