/**
* 音频转码
*
* @param key 被转码文件名
* @param format 转码后的格式
* @param ab 音频码率,单位:比特每秒(bit/s),常用码率:64k,128k,192k,256k,320k等。在不改变音频编码格式时,若指定码率大于原音频码率,则使用原音频码率进行转码。
* @param ar 音频采样频率,单位:赫兹(Hz),常用采样频率:8000,12050,22050,44100等。
* @param resultUrl 转码后的文件名
* @return
*/
public String avthumb(String key, String format, String ab, Integer ar, String resultUrl) {
//七牛的ACCESS_KEY和SECRET_KEY
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
OperationManager operationManager = new OperationManager(auth);
//转码后的文件名是自己定义的,需要和 目标Bucket_Name 一起进行Base64编码
//Bucket_Name是七牛存储空间名
String fops = "avthumb/" + format + "/ab/" + ab + "/ar/" + ar + "|saveas/" + UrlSafeBase64.encodeToString(bucketname + ":" + resultUrl);
String persistid = null;
try {
StringMap stringMap = new StringMap();
stringMap.put("notifyURL", this.voiceCallbackUrl);//接收转码完成通知的url
stringMap.put("force", 1);//如果文件已存在,则覆盖(默认不覆盖)
persistid = operationManager.pfop(bucketname, key, fops, stringMap);
} catch (QiniuException e) {
//捕获异常信息
Response r = e.response;
// 请求失败时状态信息
System.out.println(r.toString());
try {
// 响应的文本信息
System.out.println(r.bodyString());
} catch (QiniuException e1) {
//ignore
}
}
return persistid;
}