起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3014|回复: 5

[处理中3] 上传语音文件

[复制链接]

29

主题

130

帖子

306

积分

中级会员

Rank: 3Rank: 3

积分
306
QQ
发表于 2016-6-2 14:21:36 | 显示全部楼层 |阅读模式
本帖最后由 kisshexuxia 于 2016-6-2 14:52 编辑

看了http://bbs.wex5.com/forum.php?mod=viewthread&tid=91095&extra=&page=1
文章想是不是可以上传语音文件然后找到了DEMO      $UI/demo/native/audio/
现在碰到如下问题首先上面照片引用的codova插件返回的就是base64加密的navigator.camera.getPicture
但是语音这边没有加密、所以我想实现语音base64加密

  1. self.uploadVoice(Base64.encode(this.mediaRec));
复制代码
我在手机上测试这个代码报base64.encode(this.mediaRec)
这样写是不行的。不知道要怎么写才能对刚才录制的语音文件加密

在停止录音新增代码
  1.     //停止播放、停止录音
  2.         Model.prototype.pauseImageClick = function(event){
  3.                 // 清空计时器
  4.                 var self = this;  
  5.                 clearInterval(this.mediaTimer);
  6.                 if (this.operateType == "record") {
  7.                         // 停止录音
  8.                         this.comp("recordCover").hide();
  9.                         this.mediaRec.stopRecord();
  10.                         
  11.                         var data = this.comp("fileData");
  12.                         data.newData({index : 0});
  13.                         data.setValue("fileName", this.fileName);
  14.                         data.setValue("createTime", justep.Date.toString(new Date(), justep.Date.DEFAULT_FORMAT))// 开始时间
  15.                         data.setValue("timeLen", this.timeLen);// 录音时长
  16.                         <font color="Red">self.uploadVoice(Base64.encode(this.mediaRec)); </font>
  17.                         this.comp('fileOutput').set({value: "音频文件名"+this.fileName});
  18.                 }else{
  19.                         //停止播放
  20.                         this.comp("playCover").hide();
  21.                         this.mediaRec.stop();
  22.                 }
  23.         };
复制代码


  1.         //调用bass实现语音上传               
  2.     Model.prototype.uploadVoice = function(VoiceData){

  3.         var userid = 'aaa';
  4.         var storeFileName =  "";
  5.         var imageJson = {};
  6.         storeFileName = justep.UUID.createUUID();     
  7.      //   alert(imageData);                       
  8.         justep.Baas.sendRequest({
  9.                 "url" : "/ymf/ymftest",  //baas目录,请根据自己的配置进行修改
  10.             "action" : "uploadVoice",
  11.             "async" : false,
  12.             "params" : {
  13.                     "picData" : VoiceData,
  14.                 "ownerID" : userid,
  15.                 "storeFileName" : storeFileName
  16.             },
  17.             "success" : function(data) {
  18.                     justep.Util.hint("语音上传成功");           
  19.             }
  20.        });
  21.     };
  22.         
复制代码

baas代码

  1.   //上传语音
  2.     public static JSONObject uploadVoice(JSONObject params, ActionContext context) throws SQLException, NamingException, IOException {

  3.                 System.out.println("uploadPicfile is running...");

  4.                 String ownerID = params.getString("ownerID");
  5.                 String storeFileName = params.getString("storeFileName");
  6.                 String picData = params.getString("picData");

  7.                 String baasPath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
  8.                 String docStorePath = baasPath + ".." + File.separator + ".." + File.separator + "model" + File.separator + "UI2" + File.separator + "ymfTest15" + File.separator + "uploadfiles";
  9.                 File docstoreDir = new File(docStorePath);
  10.                 if (!(docstoreDir.exists() && docstoreDir.isDirectory())) {
  11.                         docstoreDir.mkdirs();
  12.                 }

  13.                 String storePath = docStorePath + File.separator + ownerID;
  14.                 File storeDir = new File(storePath);
  15.                 if (!(storeDir.exists() && storeDir.isDirectory())) {
  16.                         storeDir.mkdirs();
  17.                 }

  18.                 System.out.println("后台计算的baasPath的值:" + baasPath);
  19.                 System.out.println("后台计算的docStorePath的值:" + docStorePath);
  20.                 System.out.println("后台计算的storeDir的值:" + storeDir);

  21.                 BASE64Decoder decoder = new BASE64Decoder();
  22.                 try {
  23.                         byte[] decodedBytes = decoder.decodeBuffer(picData);

  24.                         String imgFile = storePath + File.separator + storeFileName;
  25.                         FileOutputStream out = new FileOutputStream(imgFile);
  26.                         out.write(decodedBytes);
  27.                         out.close();
  28.                         System.out.println("语音上传成功!");
  29.                 } catch (Exception e) {
  30.                         System.out.println("语音上传失败!");
  31.                         e.printStackTrace();
  32.                 }
  33.                 return null;
  34.         }
  35.    
复制代码



发表于 2016-6-2 15:49:31 | 显示全部楼层
Base64.encode 里面的参数应该是字符串类型的!
文件如何转成base64编码。建议您自己上网搜下吧
http://jingyan.baidu.com/article/48b37f8d1ebefd1a646488c7.html
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

29

主题

130

帖子

306

积分

中级会员

Rank: 3Rank: 3

积分
306
QQ
 楼主| 发表于 2016-6-2 15:54:27 | 显示全部楼层
liangyongfei 发表于 2016-6-2 15:49
Base64.encode 里面的参数应该是字符串类型的!
文件如何转成base64编码。建议您自己上网搜下吧
http://jin ...

音频文件不知道怎么转成base64
回复 支持 反对

使用道具 举报

发表于 2016-6-2 16:54:02 | 显示全部楼层
kisshexuxia 发表于 2016-6-2 15:54
音频文件不知道怎么转成base64

这个上网搜下吧!如果做不到!那就不能使用base64传了!
还使用corodva 进行上传吧!就是参考你1楼的连接!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

29

主题

130

帖子

306

积分

中级会员

Rank: 3Rank: 3

积分
306
QQ
 楼主| 发表于 2016-6-2 19:50:35 | 显示全部楼层
能给个语音上传服务器的例子吗
回复 支持 反对

使用道具 举报

发表于 2016-6-3 09:53:53 | 显示全部楼层
本帖最后由 liangyongfei 于 2016-6-3 09:55 编辑
kisshexuxia 发表于 2016-6-2 19:50
能给个语音上传服务器的例子吗

http://bbs.wex5.com/forum.php?mod=viewthread&tid=68669   http://bbs.wex5.com/forum.php?mo ... 88928&pid=165225779
你1楼的链接就写了啊!他是图片上传,也可以上传其它文件!

另外还可以使用attachmentSimple组件上传,或者参考:/UI2/system/api/native/demo/test.w 中上传的代码实现!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-16 02:35 , Processed in 0.106200 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表