让我们来做一个IOS语音包App吧。
首先,这是以前的一个存货技术探究,为啥研究这个?好玩,有意思,文章不会涉及太多细节,细节可以自己看代码,代码是一个可以打包的App。
语音包作用是啥?在玩游戏的时候官方会推出自己的语音包,比如王者荣耀的张大仙语音包,你看,冰心一出,巴拉巴拉的。
不过那鬼东西是要花钱或者很费劲得到的。以下文章是如何通过第三方app获得同样的功能。
这些内容不是我自己创造的,而是已有的研究得来的,包括对市面的app进行正向和逆向的分析得来的,并在此基础上整合出来的一个App。
目标是啥?
做啥事之前得有个目标,针对语音包App我拆解了以下目标和问题:
- 如何在游戏语音的时候播放自己录制好的语音呢?
我们知道我们再录音的时候会占用麦克风,但是并不会占用声卡,所以我们再别的app录音的时候,播放录好的语音包就行了。
- 自定义键盘怎么搞?
自定义键盘用keyboard extension就行了。自己自定义个键盘还是很轻松的。
- 如何保证App一直处于不被杀死或者僵死的状态?
这里可以用IOS提供的后台播放音乐功能即可,但是这里是有限制的,具体我并没有测试限制多久时间,我只是简单粗暴的将app退到后台直接不停的播放静音音乐就行了。
基本上以上问题解决了,或者说目标达到了就差不太多了。
分解目标
我们再讲目标分解一下:
- 播放自己录制好的语音。
这里使用现成的别的app拉过来的语音资源搞的。
- 自定义键盘
这里只是针对收藏的语音包才在语音键盘里面显示,因为语音包太多了,眼花缭乱。另外ios针对extension使用的内存是由限制的。
- 保证App一直不死。
如上第3点。另外这里需要注意的是,加入用户手贱关掉了app,那么在显示键盘的时候还应该去检查下是否app打开着,不打开的话就无法通过语音键盘播放语音包,这里我没做,另外一个就是方便一点跳转到别的app中去,不过大家可以用urlschemal来检测或跳转。
如何去做?
talk is cheap, show me the code。
代码请加我微信私发。 Nicholas_mc
App长啥样?
放几个图就行了:
下一步呢?
- 录音变音
主要在变音的技术探索上,有一些现成的库,自己调调参数就可以玩男音女音孩子音。 - 实时变音
实时变音是确定可以实现的,但是这个技术不太好的点就是可能会被用在社会工程学上(以不好的目的进行的社会工程学俗称zp)。