ios发送语音消息,发送方和接收方收到的data不一样

ios
标签: #<Tag:0x00007f83d52a0840>

(分 析) #1

servermessageid是一样的,一个发送方,一个接收方,用下面的方法得到的data不一样

[(JMSGVoiceContent *)message.content voiceData:^(NSData *data, NSString *objectId, NSError *error) {
                NSLog(@"获取语音文件:%@",error?@"失败":@"成功");

               NSLog(@"数据:%@",data);
//就是这个data,发送方和接收方的data不一样,同一个servermessageid;
  }];

(分 析) #2

补充一下,我发送语音的方法,是这样的

voicePath=[voicePath stringByReplacingOccurrencesOfString:@".wav" withString:@".amr"];
NSData *VoiceDate=[NSData dataWithContentsOfFile:voicePath];
[self.conversation sendVoiceMessage:VoiceDate duration:@(10)];

录音室wav格式,转成amr发送,发送方的消息得到的data,可以转成wav,接收方的data转不了wav


(分 析) #3

发送方和接收方同一个servermessageid,得到的data不是应该是一样的吗


#4

系统方法可以直接播放 data,你看收到的能否正常播放?


(分 析) #5

我发送的消息是amr格式的6kb,接收到的是62kb,你们是不是不支持amr发送语音啊,用你们的demo里面的mp3格式就可以


(分 析) #6

我发送的消息是amr格式的6kb,接收到的是62kb,你们是不是不支持amr发送语音啊,用你们的demo里面的mp3格式就可以。。。。。。。


#7

发语音的传递实际是 data,语音文件的格式没有做限制,给到服务器那边就是个data文件。

你 iOS 端收到之后,直接用系统方法播放 data 文件就行


(分 析) #8

iOS录音是wav格式,文件太大,转成amr的文件,变成6kb,转成data传输,接收到的data转成amr格式,变成了62kb