当前位置:Gxlcms > PHP教程 > 使用七牛将amr格式的录音转成mp3格式后,提示文件已经损坏

使用七牛将amr格式的录音转成mp3格式后,提示文件已经损坏

时间:2021-07-01 10:21:17 帮助过:22人阅读

刚开始用七牛,把一个amr音频转mp3,用的是php的sdk。这段程序执行完后bucket里面是有生成了
999.mp3,但是下载到本地用jplayer放,提示无法解码。用firefox浏览器直接打开,提示文件已
损坏。请教高手。

摘选了一段主要的代码是这样的:
$auth = new Auth($accessKey, $secretKey);
// 要上传的空间
$bucket = 'mp3url';
//执行的格式转换
$pfopOps = "avthumb/mp3/ab/64k/ar/22050"; 

$policy = array(
    'persistentOps' => $pfopOps,
    'persistentNotifyUrl' => 'http://',
);
// 生成上传 Token
$token = $auth->uploadToken($bucket);
// 要上传文件的本地路径
$filePath = './20150504121658533.amr';
// 上传到七牛后保存的文件名
$key = '999.mp3';
// 初始化 UploadManager 对象并进行文件的上传。
$uploadMgr = new UploadManager();
list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
echo "\n====> putFile result: \n";
if ($err !== null) {
    var_dump($err);
} else {
    var_dump($ret);
}

回复内容:

刚开始用七牛,把一个amr音频转mp3,用的是php的sdk。这段程序执行完后bucket里面是有生成了
999.mp3,但是下载到本地用jplayer放,提示无法解码。用firefox浏览器直接打开,提示文件已
损坏。请教高手。

摘选了一段主要的代码是这样的:
$auth = new Auth($accessKey, $secretKey);
// 要上传的空间
$bucket = 'mp3url';
//执行的格式转换
$pfopOps = "avthumb/mp3/ab/64k/ar/22050"; 

$policy = array(
    'persistentOps' => $pfopOps,
    'persistentNotifyUrl' => 'http://',
);
// 生成上传 Token
$token = $auth->uploadToken($bucket);
// 要上传文件的本地路径
$filePath = './20150504121658533.amr';
// 上传到七牛后保存的文件名
$key = '999.mp3';
// 初始化 UploadManager 对象并进行文件的上传。
$uploadMgr = new UploadManager();
list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
echo "\n====> putFile result: \n";
if ($err !== null) {
    var_dump($err);
} else {
    var_dump($ret);
}

补充下,我的amr文件大概5kb左右,是微信录音

你的问题解决了吗?我也遇到这样的问题 求帮忙

人气教程排行