CocosCreator播放声音

1:AudioSource组件
官方文档:http://docs.cocos.com/creator/manual/zh/audio/audio.html
由于策划需求 需要获取声音的时长以及当前播放时间点,以及是否正在播放声音
但是。。。。。。查了AudioSource组件的API 简直让人震惊!!下面放图:
CocosCreator播放声音_第1张图片
CocosCreator播放声音_第2张图片
1:isPlaying 这个字段不支持原生平台
2:getCurrentTime,GetDuration 这两个接口返回值是void !厉害了我的cocosCreator

解决方案:
查看了源码之后发现AudioSource组件里有一个audio字段,只是没开放出来,但是可以用!
源码地址:
https://github.com/cocos-creator/engine/blob/20d5a388c0828fd4eeb28e5c103bee9c4388590d/cocos2d/core/components/CCAudioSource.js#L272

获取当前的播放时间以及获取当前音频的长度可以这样

let audioSource:any = this.audioSource;
let audio:any = audioSource.audio;

let duration:number = audio.getDuration();
let currentTime:number = audio.getCurrentTime();

是否在播放音频:暂时还没找到比较好的解决方案

2: cc.audioEngine
官方文档:http://docs.cocos.com/creator/manual/zh/audio/audio.html
个人建议使用这个来替换AudioSource组件播放声音,接口齐全,测试有效,可以自己封装一个类似AudioSource组件的脚本来使用

你可能感兴趣的:(CocosCreator)