写这个之前,并不是不让小伙伴们不去使用第三方,喜欢的小伙伴可以加群继续探讨Cocos Creator 开发,后面会陆续真对Cocos Creator分享一些常用的东西。
群号:367683835
好了,不废话了,先简单讲下原理;因为js与ios以及js与anroid通讯只简单的支持String,int等简单类型,所以我们不能使用bytes,这里我选择用String,不要问我10秒语音转String会有多大,试了就知道了。NSData 通过Base64转成String;然后通过ios与js通讯传输。再通过socket交互,就会达到我们想要的效果。
**
授人以鱼,不如授人以渔。
**
代码:
oc:
NSData *voiceData = [NSData dataWithContentsOfURL:urlAudio];
NSData *amrData = [Tool amrFlileWithDara:voiceData];
NSString *voiceString = [amrData base64EncodedString];
NSString *strValue = [Tool URLEncodedString:voiceString];
NSString *func1 = [NSString stringWithFormat:@"Game.DataManager.recordComplete('%@',1)", strValue];
const char *stringFunc = [func1 UTF8String];
ScriptingCore::getInstance()->evalString(stringFunc);
通过发给js转发给socket…js收到再发iOS…进行播放。。。逻辑说了,代码简单的写了下!