+ (NSString *)voiceMessageConentWithEntity:(VMessageEntity *)entity{ NSLog(@"entity.voiceMessage.voicemd5 == %@",entity.voiceMessage.voicemd5); if (!entity) { return nil; } VChatVoiceEntity *voiceMessage = entity.voiceMessage; if (!voiceMessage) { return nil; } NSString *voicemd5 = voiceMessage.voicemd5; NSString *duration = voiceMessage.duration; if (entity.messageType == VMessageTypeVoice) { NSMutableDictionary *rootDict = [NSMutableDictionary dictionary]; if (voicemd5) { [rootDict setObject:voicemd5 forKey:@"md5"]; } if (duration) { [rootDict setObject:duration forKey:@"duration"]; } NSError *error = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:rootDict options:NSJSONWritingPrettyPrinted error:&error]; if (error) { NSLog(@"%@", error); } NSString *json = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; return json; }else{ return nil; } } + (VChatVoiceEntity *)voiceWithJson:(NSString *)json{ if (!json.length) { return nil; } NSData *jsonData = [json dataUsingEncoding:NSUTF8StringEncoding]; NSError *error = nil; NSDictionary *root = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:&error]; if (root) { VChatVoiceEntity *voiceMessage = [[VChatVoiceEntity alloc] init]; voiceMessage.voicemd5 = [root objectForKey:@"md5"]; voiceMessage.duration = [root objectForKey:@"duration"]; return voiceMessage; } return nil; }