UNPKG

chameleon-bridge

Version:

bridge for chameleon

135 lines (131 loc) 2.65 kB
import { callNative, listenNative } from '../../core/index.js' const moduleName = 'audio'; //创建audio上下文 export function createWeexAudio(param, cb = () => {}) { /** * @params: * moduleName:audio * methodPlay:create * param:url : audio地址 looping:是否循环播放 "1"-是, ”0“-否 volume:该player的音量,默认为1.0f */ callNative(moduleName, 'create', param, function (res) { /** * errno * msg * data:{id:1} id为唯一player表示,由native生成尾数 */ cb(res); }); } //播放audio export function playWeexAudio(param, cb = () => {}) { /** * @moduleName:audio * @method:play * @param:{id:1} */ callNative(moduleName, 'play', param, function (res) { /** * errno * msg */ cb(res); }); } //暂停audio export function pauseWeexAudio(param, cb = () => {}) { /** * @moduleName:audio * @method:pause * @param:{id:1} */ callNative(moduleName, 'pause', param, function (res) { /** * errno * msg */ cb(res); }); } //设置player进度 export function seekToWeexAudio(param, cb = () => {}) { /** * @moduleName:audio * @method:seekTo @param:{id:1,msec:10} //单位ms * */ callNative(moduleName, 'seekTo', param, function (res) { /** * errno * msg */ cb(res); }); } //获取player进度 export function getWeexAudioCurrentPos(param, cb = () => {}) { /** * @moduleName:audio * @method:currentPos * @param:{id:1} */ callNative(moduleName, 'currentPos', param, function (res) { /** * errno * msg * data:{msec:10} */ cb(res); }); } //释放player export function destroyAudio(param, cb = () => {}) { /** * @moduleName:audio * @method:destroy * @param:{id:1} */ callNative(moduleName, 'destroy', param, function (res) { /** * errno * msg */ cb(res); }); } //player缓存变化通知 export function audioBufferChange(cb = () => {}) { /** * @moduleName:audio * @methodPlay:play * @param:{id:1} */ listenNative(moduleName, 'onBufferingChange', function (res) { /** * id:1, //标识某个audio的进度变化了 * percent:10, */ cb(res); }); } //player状态变化通知 export function audioStatusChange(cb = () => {}) { /** * @moduleName:audio * @methodPlay:play * @param:{id:1} */ listenNative(moduleName, 'onStatusChange', function (res) { /** * id:1, //标识某个audio的进度变化了 * status:1,// 准备:1 ,播放:2,暂停:3,结束:4 */ cb(res); }); }