这个功能在我们开发手持机扫描时通常需要的一个功能,很多工人年纪大了看Pda屏幕看不太清楚,通常我们分为俩种声音去辨别是否扫描成功?
Success代表成功声音,fail代表失败声音
1.首先我们找两个音频,一个success声音,一个fail声音(我把他们放到了static目录下)

2.其次我们把声音封装成公共的js文件,方便每个界面去调用(在common目录下)

3.下面看一下封装代码(根据个人业务需求来修改返回的数据)
//utils.js
//因为这个音效听起来是叮的声音,所以我取这个函数名,方便记忆音效,找的合适的场景就能想起来。
function play_ding_success() {
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src = '/static/radio/chenggong1.mp3';
innerAudioContext.onPlay(() => {
console.log('开始播放');
});
innerAudioContext.onError((res) => {
console.log(res.errMsg);
console.log(res.errCode);
});
setTimeout(() => {
innerAudioContext.destroy() // 音效一般为1s,2s后销毁实例
}, 2000)
}
function play_ding_fail() {
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src = '/static/radio/shibai2.mp3';
innerAudioContext.onPlay(() => {
console.log('开始播放');
});
innerAudioContext.onError((res) => {
console.log(res.errMsg);
console.log(res.errCode);
});
setTimeout(() => {
innerAudioContext.destroy() // 音效一般为1s,2s后销毁实例
}, 2000)
}
module.exports = {
play_ding_success,
play_ding_fail
}
详细参数见官方uni文档
uni.createInnerAudioContext() | uni-app官网 (dcloud.net.cn)
4.最后在要用到的界面去引入调用封装的方法即可
import radio from "@/common/radio.js" //引入radio声音插件
//methods方法里面去调用这两个封装的radio方法
success(){
radio.play_ding_fail() //调取成功声音
}
fail(){
radio.play_ding_success() //调取失败声音
}
5.这样就大功告成了!!!!