欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2023-12-25 19:48:45
...
刚开始用七牛,把一个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左右,是微信录音

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

上一篇:

下一篇: