public void uploadRecorder(String path, double lengh) {

	try {
		final AVIMAudioMessage message = new AVIMAudioMessage(path);

		mConversation.sendMessage(message, new AVIMConversationCallback() {
			@Override
			public void done(AVException e) {
				if (null != e) {
					// 出错了。。。
					Toast.makeText(ChatActivity.this, "发送失败", 2000).show();
					e.printStackTrace();
				} else {
					final AVFile file = message.getAVFile();
					file.saveInBackground(new SaveCallback() {
						@Override
						public void done(AVException arg0) {
							Log.d("in", "saveInBackground-- =" + arg0);
							// 上传车成功
							Log.d("in", "file.getUrl() =" + file.getUrl());
							Log.d("in", "file.getUrl() =" + message.getFileUrl());
						}
					}, new ProgressCallback() {

						@Override
						public void done(Integer arg0) {
							Log.d("in", "saveInBackground-- =" + arg0);
						}
					});
				}
			}
		});
	} catch (Exception e1) {
		e1.printStackTrace();
	}

}

这里仅仅贴出了上传的代码,还有更详细的信息么?
可以从以下几个方面去找问题:
音频确定上传成功了?如果上传成功了的话是否可以正常下载?如果可以正常下载的话用平时的音乐播放器看是否可以正常播放?

肯定上传成功了,ProgressCallback 100 ,也打印了上传成功,服务器的音频文件都不能播放,下载的也不能播放,以前用这个方法都没问题,代码也没改

try to mkblk 这个是什么意思?

是不是上传的文件有什么问题呢?本地文件可以播放么?如果本地录制的文件都不能播放那就有可能是录制的问题,应该跟leancloud无关,部分手机amr文件需要主动设置为单声道

是我本地路径的问题。

你好,我也遇到同样的问题,但是我的本地是可以播放的,但是leacloud获取的url是无效的,问什么啊,在线等急

参考我发过的帖子,微信的amr格式是特殊的,不同于普通的amr(或许是这样或许不是),反正本地可以播放,但是没法直接在线播放,需要转码。

我最终选择音频文件储存和转码都是用了七牛云的文件存储服务,数据库还是用LeanCloud的,也解决了这个问题

文件全放七牛,那就是要再注册个七牛账号,接七牛的api多么?...

不能文件放leancloud,转码去七牛做吗?我也碰到微信amr需求了...好迷茫啊