因为最近在做音乐类的项目,对于节奏点要求比较高,起初用Unity 自带的Audio Source播放音乐。上线后有用户反馈部分手机和模拟器节奏点对不上,用模拟器测试了一下,果然是。好吧,那就解决吧。
据说 Unity有一款插件(Android Native Audio),专门针对Android机播放音乐,拿来试试。
Unity Asset Store 可以直接下载到,免费的。
也可以直接网盘下载 链接:https://pan.baidu.com/s/14pU9ZRcZ5WwUGbor6MZD_A
提取码:xo3j
导入Unity之后就是这种结构
里面两个例子,一个ANA场景用 AndroidNativeAudio 类来播放短音频的 ,一个 ANA Music场景,用ANAMusic 类来播放长音频(支持 MP3,ogg,wav格式)
具体用法,导入的包中有两篇开发文档,还挺详细的。这里博主主要讲下自己用的,以及使用的时候的注意事项
代码以及注释如下:
记录一个坑点 : seekTo ,从某一时间点播放后,用getCurrentPosition()获取的时间点,就会被seekTo设置的时间点带偏,导致获取的时间点一直不是真正的播放时间点(坑死我了,因为这个东西搞到凌晨两点)。
解决方法 : 直接 Play() ,然后去校准你需要对应的逻辑,而不是直接去校准歌曲时间节点