使用七牛抓取资源功能,将微信上的录音的音频抓取出来,放到七牛存储,但是抓取的是amr格式,不能播放,需要将音频转化为mp3格式的. 我用的是sdk是7.0.0版本,搞了一天,快崩溃了.已经成功抓取到了,就是没有办法转码.哪位仁兄知道呢? 感谢感谢! 我将OperationManager添加进来了,7.0.0版本没这个类.方法实现如下 Auth auth = Auth.create(QiNiuConstant.ACCESSKEY, QiNiuConstant.SECRETKEY); OperationManager operater = new OperationManager(auth); String bucket = event.getFetchVo().getBucket(); String key = event.getFetchVo().getFilePath().toString()
event.getFetchVo().getKey();
// 设置转码操作参数
String fops = "avthumb/mp3/s/640x360/vb/1.25m";
// 设置转码的队列
String pipeline = "weixinteachervoice";
// 可以对转码后的文件进行使用saveas参数自定义命名,当然也可以不指定文件会默认命名并保存在当前空间。
String urlbase64 = UrlSafeBase64.encodeToString(bucket + ":" + key);
String pfops = fops + "|saveas/" + urlbase64;
// 设置pipeline参数
StringMap params = new StringMap().putWhen("force", 1, true).putNotEmpty("persistentPipeline", pipeline);
{
String persistid = operater.pfop(bucket, key, pfops, params); System.out.println("transcod success : " + persistid);
} catch (QiniuException e) {
Response r = e.response; logger.info("transcod fail :" + r.toString()); try { System.out.println(r.bodyString()); } catch (QiniuException e1) { logger.info("transcod fail : can't print response"); }
}
logger.info("transcode end " );
我是用Python码的,localfile就是你文件的路径。
q = qiniu.Auth(settings["QiniuAccessKey"], settings["QiniuSecretKey"]) key = "%s_%s.amr" % (save_id, name) policy = {} policy["persistentOps"] = "avthumb/m4a|saveas/"+base64.b64encode("audio:%s_%s" %(save_id, name)) policy["persistentPipeline"] = "weixin" policy["callbackUrl"] = "http://XXX.XXX.com/api/audio/weixin_upload_notify" policy["callbackBody"] = "filename=$(fname)&filesize=$(fsize)&user_id=%s&save_id=%s&name=%s&duration=%s&created=%s" % (user_id, save_id, name, duration, created) uptoken = q.upload_token("audio", key, 3600, policy) ret, info = yield qiniu.put_file(uptoken, key, localfile)
不过我最近转码的时候遇到问题,这个callbackurl竟然瞬间就返回了……不过是成功的。
fetch下来之后,在调用转换接口,刚好昨天做了这个功能,不过转换是成功了,ios下依然不能播放,苦逼中。。。
另外说下,官方给的文档很多地方不统一,给的sdk也有一点错误,两者结合,才弄出最终可以用的转换接口
不好意思,转换成mp3之后是可以播放的,当时没注意手机打到静音状态了,所以死活没声音,其实是可以播放的,相关代码,请参开这里http://www.cnblogs.com/weiniu/p/qiniu_fetch_convert_php.html
触发持久化转码参考下demo大全
http://7xnonj.com2.z0.glb.qiniucdn.com/i...