iOS xmpp 图片+语音

xmpp 的消息都是 nsstring 类型的   我们想要传送语音 或者图片的时候 我们必须把 图片跟语音转成 nsstring  放到 xmpp的  <body>这个节点里面来传输

但是普通的转化是不可以的 这个时候 我们需要借助 Base64  这个类来帮我做

倒入头文件

#import "Base64.h"

data--》nsstring

 //将音频文件转成NSData
    NSData *soundData = [[NSData alloc] initWithContentsOfURL:recordedFile];
    
    //将NSData转成base64的NSString类型
    NSString *sound=[soundData base64EncodedString];
    //发送代码
    NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
    [body setStringValue:sound];
    NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
    [message addAttributeWithName:@"type" stringValue:@"chat"];
    NSString *to = [NSString stringWithFormat:@"%@", self.userJID];
    [message addAttributeWithName:@"to" stringValue:to];
    [message addChild:body];
    [[[self appDelegate]xmppStream] sendElement:message];
 

我们在xmpp协议得到的消息是 nsstring 所以又要转成我们所需要的

nsstring--》data

  //图片
        NSData *data = [STR base64DecodedData];
        UIImage *img = [UIImage imageWithData:data];
        [pic setImage:img];

Base64下载地址   http://download.csdn.net/detail/aa741649143/6528129

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值