iOS集成环信后 , 语音接收成功后, 无法播放

iOS集成环信后,  文本/图片/都可以发送和接收成功, 并可以查看;  
语音  虽然可以发送出去, 并可以点击自己的录音进行播放,  
但是在接收方存在一个问题, 
就是 -(void)didReceiveMessage:(EMMessage *)message这个方法已经调用,
也调用 了 [[EaseMob sharedInstance].chatManager asyncFetchMessage:message progress:nil completion:^(EMMessage *aMessage, EMError *error) {}], 也打印了下载成功, 
但是得到的body.localPath下没有语音文件, 故无法播放, 请问这是什么问题?
 
一部分日志如下:
音频remote路径 -- (null)

2015-10-30 13:59:09.797 qyzy[20824:725753] 音频local路径 -- /Users/***/Library/Developer/CoreSimulator/Devices/DC692AFF-DFE0-4AEA-9ECF-AB4687DAB6D8/data/Containers/Data/Application/EE67286D-77BD-4B90-A1DD-D076F8DBA8D7/Library/appdata/qqqqqq/chat/qq/messages

2015-10-30 13:59:09.797 ***[20824:725753] 音频的secret -- 

2015-10-30 13:59:09.797 ***[20824:725753] 音频文件大小 -- 0

2015-10-30 13:59:09.798 ***[20824:725753] 音频文件的下载状态 -- 1

2015-10-30 13:59:09.798 ***[20824:725753] 音频的时间长度 -- 1
共9个回复

zhangyb

2015-10-30 15:17

发送方能正常播放么  

乱羽

2015-10-30 15:19

已发送的可以正常播放, 因为是存放在本地的, 接收的需要从网络获取, 没有播放成功

大米哥哥

2015-10-30 15:25

请问楼主     你是简单实用环信聊天界面的uI 集成么

乱羽

2015-10-30 15:26

没有使用环信的UI, 只是使用了SDK

大米哥哥

2015-10-30 15:38

好吧,tks

zhangyb

2015-10-30 15:36

我们语音文件是自动下载的,你只要判断是否下载就行,不用调用方法的    

乱羽

2015-10-30 15:38

body.locaPath下没有语音文件, 我才下载的

乱羽

2015-10-30 16:17

body.locaPath只是指向了下载的文件夹 ~/Library/appdata/qqqqqq/chat/qq/messages, 而messages下没有音频文件

乱羽

2015-11-02 15:11

你好, 还请帮忙解决一下,谢谢~

乱羽

2015-11-09 11:12

我现在用的官方的UI集成的, 可以正常使用

乱羽

2015-11-05 13:34

请环信的技术人员帮忙解决一下, 不能解决也请说一声, 别晾着啊~在主页的技术支持QQ上发了消息, 也不回我, 这是要闹哪样?

lifei9241

2015-11-05 14:48

你这里是localPath下没有文件?你录音的时候,用的是demo的方法么。如果接收到,下载过后,正常情况下本地路径里不会没有文件。

乱羽

2015-11-05 14:50

录音不是用的Demo的方法, 是自己写的AVAudioRecorder

lifei9241

2015-11-05 14:56

@3724:录音得到的文件是amr格式的吗

乱羽

2015-11-05 15:27

我没有设置音频的格式, 但是我把文件名改成.amr后, 可以播放出来

lifei9241

2015-11-05 16:09

@3724:发送的时候发的是amr,接收到转成wav再播放。

乱羽

2015-11-05 16:44

我集成了官方的UI, 现在可以发送语音了~辛苦喽!

lifei9241

2015-11-05 16:57

@3724:ok

shengdm

2016-01-18 13:58

请问楼主,你这个问题解决了吗,我现在也遇到这样的情况了,找不到原因

乱羽

2016-01-18 16:41

我刚找到自己这边的问题所在了, 因为我是通过安卓给iOS发的, 而安卓端录音的音频格式为aac, 而iOS端是按amr接收 , 再转换为wav格式进行播放的, 目前正在统一两端的音频格式

乱羽

2016-01-18 19:28

我这边刚刚把这个问题解决了, 安卓端将录制和编码的格式都改成AMR_NB, iOS端接收后就可以进行转码播放了! 希望对你有帮助!

yangyuting

2016-03-10 09:43

@3724:请问,在ios端,怎么修改呢

ぐ笨小贼

2016-08-08 12:03

@3724:在安卓端怎么修改?是直接修改扩展名吗?

乱羽

2016-01-18 19:28

谢谢各位大大和朋友的帮忙, 这个问题已经解决! 详见最后一条回复!

那一夜,风雪

2017-01-03 09:24

同问

hellokevin

2015-11-02 15:29

            id<IEMMessageBody> messageBody = [message.messageBodies firstObject];             EMChatVoice *chatVoice = (EMChatVoice *)((EMVoiceMessageBody *)messageBody).chatObject;             NSString *lujinger = chatVoice.localPath;       [[EMCDDeviceManager sharedInstance] enableProximitySensor];         [[EMCDDeviceManager sharedInstance] asyncPlayingWithPath:lujinger completion:^(NSError *error) {             dispatch_async(dispatch_get_main_queue(), ^{                              });         }];   重新寻找路径播放

乱羽

2015-11-02 15:30

我试试 ,3Q~

hellokevin

2015-11-02 15:31

播放方法 是dome里的AudioRecorder第三方 不知道直接用系统的播放OK不 如果测试了告诉下

hellokevin

2015-11-02 15:33

现在测试的是amr的可以 mp3的提示格式转换错误 要是碰到哪些格式可以那些不可以的夜分享一下

乱羽

2015-11-02 16:15

lujinger是: /var/mobile/Containers/Data/Application/AD6E1F0F-C9F5-4983-8AB1-2E7353CBB7C1/Library/appdata/qq/chat/qq/messages 调用 了[[EMCDDeviceManager sharedInstance] asyncPlayingWithPath:path completion:^(NSError *error) 后, 有error, Error Domain=error.initRecorderFail Code=-101 "(null)"

乱羽

2015-11-02 16:16

@3765:我用的是系统的播放

乱羽

2015-11-02 16:18

SDK是自动会接收音频文件的是吧, 那在接收消息的方法中, 得到的body.localPath下没有音频文件, 这个就奇怪了

hellokevin

2015-11-02 16:49

@3724: 直接得到的(音频local路径)是消息体路径 后面的是文件全盘路径 虽然我也没看出什么不一样 但是用全盘路径可以播放,直接给的就提示失败

hellokevin

2015-11-02 16:52

@3724:- (void)didMessageAttachmentsStatusChanged:(EMMessage *)message error:(EMError *)error;

乱羽

2015-11-02 17:04

@3765:" 后面的是文件全盘路径", 后面的是指的哪个?

乱羽

2015-11-02 17:07

@3765:chatVoice.localPath 和body.localPath是一样的, 都是只到".../messages/"

乱羽

2015-11-04 11:39

@3765:有时间请回复一下,谢谢!
点击此处继续提问与开发者们互动

申请试用

提交后工作人员会尽快与您联系进行功能演示
技术咨询已转移到管理后台,请先登录

即时通讯云使用者请在应用详情页面咨询
客服云使用者请进入管理员模式咨询

×

400电话

商务咨询

技术咨询

免费试用