问题描述
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/messages2015-10-30 13:59:09.797 ***[20824:725753] 音频的secret -- 2015-10-30 13:59:09.797 ***[20824:725753] 音频文件大小 -- 02015-10-30 13:59:09.798 ***[20824:725753] 音频文件的下载状态 -- 12015-10-30 13:59:09.798 ***[20824:725753] 音频的时间长度 -- 1
解决方案
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(), ^{ }); }]; 重新寻找路径播放
解决方案二:
发送方能正常播放么
解决方案三:
请问楼主 你是简单实用环信聊天界面的uI 集成么
解决方案四:
我们语音文件是自动下载的,你只要判断是否下载就行,不用调用方法的
解决方案五:
请环信的技术人员帮忙解决一下, 不能解决也请说一声, 别晾着啊~在主页的技术支持QQ上发了消息, 也不回我, 这是要闹哪样?
解决方案六:
你这里是localPath下没有文件?你录音的时候,用的是demo的方法么。如果接收到,下载过后,正常情况下本地路径里不会没有文件。
解决方案七:
请问楼主,你这个问题解决了吗,我现在也遇到这样的情况了,找不到原因
解决方案八:
谢谢各位大大和朋友的帮忙, 这个问题已经解决! 详见最后一条回复!