初始化仓库
This commit is contained in:
90
utils/audio.ts
Normal file
90
utils/audio.ts
Normal file
@@ -0,0 +1,90 @@
|
||||
/**
|
||||
* 这是Fnaudio方法的必选参数约束
|
||||
*/
|
||||
type FunTypeAudioRequired = {
|
||||
/**
|
||||
* 音频的数据链接,用于直接播放。
|
||||
*/
|
||||
readonly src : string,
|
||||
/**
|
||||
* 是否自动开始播放,默认 true
|
||||
*/
|
||||
readonly autoplay ?:boolean ,
|
||||
/**
|
||||
* 是否遵循系统静音开关,
|
||||
* 当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音,
|
||||
* 默认值 true
|
||||
*/
|
||||
readonly obeyMuteSwitch ?:boolean,
|
||||
/**
|
||||
* 开始播放的位置(单位:s),默认 0
|
||||
*/
|
||||
readonly startTime ?: number,
|
||||
/**
|
||||
* 是否循环播放,默认 false
|
||||
*/
|
||||
readonly loop ?: boolean,
|
||||
/**
|
||||
* 音量。范围 0~1
|
||||
*/
|
||||
readonly volume ?: number,
|
||||
/**
|
||||
* 播放的倍率。可取值:0.5/0.8/1.0/1.25/1.5/2.0,默认值为1.0
|
||||
*/
|
||||
readonly playbackRate ?: 0.5|0.8|1.0|1.25|1.5|2.0
|
||||
}
|
||||
|
||||
/**
|
||||
* 封装提示音的方法类
|
||||
*/
|
||||
class Audio {
|
||||
constructor(required : FunTypeAudioRequired ){
|
||||
if (required?.volume != undefined && (required.volume < 0 || required.volume > 1)) {
|
||||
throw new Error('提供的volume值不符合规范');
|
||||
}
|
||||
let innerAudioContext = uni.createInnerAudioContext();
|
||||
innerAudioContext = Object.assign(innerAudioContext,required)
|
||||
innerAudioContext.onPlay(() => {
|
||||
console.log('开始播放');
|
||||
});
|
||||
setTimeout(() => {
|
||||
innerAudioContext.stop()
|
||||
innerAudioContext.destroy()
|
||||
console.log(',销毁实例')
|
||||
}, 900);
|
||||
innerAudioContext.onError((res) => {
|
||||
console.error(res.errMsg);
|
||||
console.error(res.errCode);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 成功提示音
|
||||
* @return
|
||||
*/
|
||||
export function autioSuccess():void {
|
||||
let audio = null;
|
||||
audio = new Audio({
|
||||
src:'/static/audio/success.mp3',
|
||||
playbackRate:2,
|
||||
autoplay : true,
|
||||
volume : 1,
|
||||
})
|
||||
audio = null
|
||||
}
|
||||
/**
|
||||
* 失败提示音
|
||||
* @return
|
||||
*/
|
||||
export function autioError():void {
|
||||
let audio = null;
|
||||
audio = new Audio({
|
||||
src:'/static/audio/error.mp3',
|
||||
playbackRate:2,
|
||||
autoplay : true,
|
||||
volume : 1,
|
||||
})
|
||||
audio = null
|
||||
}
|
||||
Reference in New Issue
Block a user