>백엔드 개발 >PHP 튜토리얼 >使用七牛将amr格式的录音转成mp3格式后,提示文件已经损坏

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

WBOY
WBOY원래의
2016-06-06 20:27:312202검색

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

摘选了一段主要的代码是这样的:
</code>
<code>$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);
}</code>

回复内容:

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

摘选了一段主要的代码是这样的:
</code>
<code>$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);
}</code>

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.