从2015年网易的《梦幻西游》、《大话西游》到近期出的各种《XX传奇》,手机游戏的交互被提到了越来越高的地位。手机游戏不再是那种“快餐”,不再是单纯地比较玩法,越来越多的MMO大作一一上线,手游不再是“打单机”,交互性变得越来越强。很多手游都需要加入聊天功能,而随着微信的流行,语音聊天也越来越被玩家重视,玩家更希望手游里有类似微信的体验。
对于一个大团队或者有研发精力的团队,完全可以自己开发一套语音聊天系统,包括录音、音频压缩、传输、储存、下载、播放等等功能。如果没有很大的精力或者研发周期比较短,完全可以先使用第三方的语音聊天插件,来满足设计者和用户的需求。
在笔者调研第三方语音的过程中找到了两款第三方语音插件:
呀呀语音
亲加云语音
两个语音都提供了语音聊天和语音翻译功能(由于笔者主要是面向国内的游戏,只测试了中文语音识别,两者都比较准确),都提供亚马逊云服务器,国内或者海外的项目都可以使用。插件涵盖的平台都比较广,包括Unity、Cocos、Android、IOS。无论是应用还是游戏引擎都可以很方便的将语音插件集成。
两者优点:
亲加语音的缺点:
呀呀语音的缺点:
笔者最终选择接入的第三方语音插件是呀呀语音。下面笔者详细介绍下呀呀语音的接入过程。
1.下载官方demo
登录 呀呀语音的下载界面直接下载官方demo的压缩包
2.压缩包内容
压缩包内包含一份很详细的说明文档,一份接入流程图,一个Demo和一个正式接入用的.unitypackage。
下面主要介绍官方的Demo和一些重要的接口,不同的应项目会有不同的逻辑实现,具体怎么利用笔者就不在此赘述。
3.Demo介绍
1)unity package导入
建立一个新的unity工程,工程路径不要有任何中文出现
双击yunva_imsdk_v1.0.3.214_20151021_u3d_demo.unitypackage全部导入
2)测试场景介绍
一共有两个测试场景 LBS_Demo为OnGUI写的一个demo,YunvaUIManager是呀呀写的一个简易聊天项目的demo,可以分别设置为启动项打包看下。
4.常用接口介绍
1)初始化 、登录
2)开始录音
YunVaImSDK.instance.RecordStartRequest(filePath);
3)结束录音
登录后复制
YunVaImSDK.instance.RecordStopRequest(StopRecordResponse);
private void StopRecordResponse(ImRecordStopResp data)
{
if(!string.IsNullOrEmpty(data.strfilepath))
{
recordPath=data.strfilepath;
labelText = "停止录音返回:"+recordPath;
Debug.Log("停止录音返回:"+recordPath);
}
}
4)翻译语音
登录后复制
//通过翻译接口可以获得本地音频文件的语音翻译和该语音文件的网络资源url,这个url可以传给别的用户,通过播放接口播放
//recordPath为本地录音文件路径
YunVaImSDK.instance.SpeechStartRequest(recordPath,"", (data3) =>
{
if(data3.result==0)
{
labelText = "识别成功,识别内容:" + data3.text;
<span > </span>labelText = "网络音频的url:" + data3.url;
}
else
{
labelText = "识别失败,原因:" + data3.msg;
}
} );
5)播放url
登录后复制
Debug.Log("urlfilepath:"+urlfilepath);
YunVaImSDK.instance.RecordStartPlayRequest("", urlfilepath, "", (data2) =>
{
if (data2.result == 0)
{
Debug.Log("播放成功");
labelText = "播放成功";
}
else
{
Debug.Log("播放失败");
labelText = "播放失败";
}
});
至此一款第三方语音插件介绍完毕,可以根据项目需求开始制作语音功能了。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删