相同的上传代码,调用同一个nodejs服务端。为什么ios可以上传成功,安卓不行,提示连接中断。求指教
山川同学
- 发布:2015-04-10 16:23
- 更新:2015-04-13 14:45
- 阅读:1610
山川同学 (作者)
/上传语音客户端/
mui(document).on('tap',".sendRecord",function (){
var type =Number(this.getAttribute("record-type"));
var wt=plus.nativeUI.showWaiting();
var files = "_doc/audio/"+plus.storage.getItem("recordFileName");
var param = 'channelID='+plus.storage.getItem("channelID")+'&accountID='+plus.storage.getItem("accountID")+'&duration='+strToTime(rt[type].innerText);
var server = config.requestURL+'app/uploadVoice?'+param;
var task=plus.uploader.createUpload(server,{method:"POST",retry:2},function(t,status){
if(status==200){
var data = JSON.parse(t.responseText);
if(data.ERRORCODE=="0"){
mui.toast("发送成功");
}else{
mui.toast("发送失败");
}
cleanHistory();//清楚录音历史记录
stopPlay(type);//停止播放之前录音
rt[type].innerText=type?"点击录音":"按住说话";
pr[type].style.display="none";
sr[type].style.display="none";
getLiveVoice($("interactMain").firstChild.getAttribute("data-time"),getTimeStamp(0)+10000);
wt.close();
}else{
mui.toast("上传失败:"+status);
wt.close();
}
}
);
task.addFile(files,{key:"Recorder_001.wav"});
task.addData("uid",getUid());
task.start();
});
2015-04-10 21:30
山川同学 (作者)
还有一个问题,在官方的录音例子中。如果录音的文件格式amr,在安卓下是可以播放的,在ios里播放不了
2015-04-10 21:41
DCloud_heavensoft
回复 山川同学: ios在os层面就不支持arm播放。如果非要播放arm,建议写个原生sdk解码
2015-04-10 22:21
山川同学 (作者)
回复 DCloud_heavensoft:好的明白了,那安卓端的上传问题怎么解决?是因为断点续传问题吗?
2015-04-10 22:23
山川同学 (作者)
回复 DCloud_heavensoft:安卓上传文件和ios上传文件的处理机制有哪儿不一样的。
2015-04-13 09:36