微信小程序获取蓝牙信标

/*** 搜索设备界面*/
import Dialog from '@vant/weapp/dialog/dialog';
Page({data: {list: []},onPullDownRefresh: function () {wx.request({url: 'https://wwz.jingyi.icu/app/Explain/index',data: {scenic_id: 3},method: 'POST',success: (res) => {console.log(res);let that = thislet BeaconData = res.data.datathat.setData({list: BeaconData})let seach = {}let uuids = []for (let i = 0; i < res.data.data.length; i++) {uuids.push(res.data.data[i].deviceid)}console.log(uuids);// 初始化蓝牙设备wx.openBluetoothAdapter({success: function (blueres) {console.log('蓝牙适配器初始化成功', blueres)wx.startBeaconDiscovery({uuids: uuids, //多个uuid数组success: function (res) {console.log(res);wx.onBeaconUpdate(function () {//设置监听事件wx.getBeacons({//在监听事件中获取数据success: res => {console.log(res.beacons) //res.beacons 为搜索到的iBeacon数据数组//业务代码for (let i = 0; i < BeaconData.length; i++) {console.log(res.beacons[0].uuid);console.log(BeaconData[i].deviceid);if (res.beacons[0].uuid.toUpperCase() == BeaconData[i].deviceid.toUpperCase()) {console.log(123);that.setData({list: BeaconData})}}console.log(seach);wx.stopBeaconDiscovery({success(res) {console.log("已暂停搜索", res);}})}})})}})},fail: function (res) {console.log(res);wx.showModal({title: '提醒',content: '系统监测未打开蓝牙,请打开后下拉刷新',})console.log(uuids);}})}})wx.stopPullDownRefresh()  //自动关闭下拉刷新},onLoad: function () {if (wx.getStorageSync('info')) {wx.request({url: 'https://wwz.jingyi.icu/app/Explain/index',data: {scenic_id: 3},method: 'POST',success: (res) => {console.log(res);let that = thislet BeaconData = res.data.datalet seach = {}let uuids = []for (let i = 0; i < res.data.data.length; i++) {uuids.push(res.data.data[i].deviceid)}console.log(uuids);// 初始化蓝牙设备wx.openBluetoothAdapter({success: function (blueres) {console.log('蓝牙适配器初始化成功', blueres)wx.startBeaconDiscovery({uuids: uuids, //多个uuid数组success: function (res) {console.log(res);wx.onBeaconUpdate(function () {//设置监听事件wx.getBeacons({//在监听事件中获取数据success: res => {console.log(res.beacons) //res.beacons 为搜索到的iBeacon数据数组//业务代码for (let i = 0; i < BeaconData.length; i++) {console.log(res.beacons[0].uuid);console.log(BeaconData[i].deviceid);if (res.beacons[0].uuid.toUpperCase() == BeaconData[i].deviceid.toUpperCase()) {console.log(123);that.setData({list: BeaconData})}}console.log(seach);wx.stopBeaconDiscovery({success(res) {console.log("已暂停搜索", res);}})}})})}})},fail: function (res) {console.log(res);wx.showModal({title: '提醒',content: '系统监测未打开蓝牙,请打开后下拉刷新',})console.log(uuids);}})}})} else {Dialog.confirm({title: '温馨提示',message: '系统监测到您当前还未登录,暂时无法进行后续操作,需要先行登录',}).then(() => {wx.navigateTo({url: '../login/login'})}).catch(() => {// on cancel});}}
})

如果需要配合音频使用的话 可以加一个背景音频 微信小程序自带的audio已经不能用了 这里要用的是微信的背景音频

蓝牙获取成功以后将这穿代码塞进去 src需要自己调配

 const backgroundAudioManager = wx.getBackgroundAudioManager()// 1、getBackgroundAudioManager的属性// 1.1歌曲歌名backgroundAudioManager.title = '景区讲解'// 1.2歌曲专辑名称// 1.3歌曲作者// 1.4设置了 src 之后会自动播放backgroundAudioManager.src = 'https://wwz.jingyi.icu/uploads/20240121/2732c2e6d29a551cb1d441d1d99706ae.mp3'this.setData({ musicId: options.musicId })// 获取音乐详情this.getMusicInfo(options.musicId);// 创建控制音乐播放的实例this.backgroundAudioManager = wx.getBackgroundAudioManager();// 监视音乐播放/暂停/停止this.backgroundAudioManager.onPlay(() => {this.changePlayState(true);});this.backgroundAudioManager.onPause(() => {this.changePlayState(false);});this.backgroundAudioManager.onStop(() => {this.changePlayState(false);});}

// 修改播放状态的功能函数changePlayState(isPlay) {// 修改音乐是否的状态this.setData({ isPlay })},// 获取音乐详情的功能函数async getMusicInfo(musicId) {let songData = await request('/song/detail', { ids: musicId });this.setData({song: songData.songs,})},// 点击播放/暂停的回调handleMusicPlay() {let isPlay = !this.data.isPlay;let { musicId } = this.data;this.musicControl(isPlay, musicId);},// 控制音乐播放/暂停的功能函数async musicControl(isPlay, musicId) {if (isPlay) { // 音乐播放// 获取音乐播放链接let musicLinkData = await request('/song/url', { id: musicId });let musicLink = musicLinkData.data[0].url;this.backgroundAudioManager.title = this.data.song.name;this.backgroundAudioManager.epname = this.data.song.al.namethis.backgroundAudioManager.singer = this.data.song.aralosongNamethis.backgroundAudioManager.src = musicLink;} else { // 暂停音乐this.backgroundAudioManager.pause();}},

 再配合一下这写就可以实现进入页面播放音频啦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/822688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重磅!国内首个基于单张图片的3D人脸重建课程

3D人脸重建在计算机视觉和图形学中一直是一个经典且热门的研究方向&#xff0c;在游戏、影视、娱乐等众多行业也有着广泛的应用。早期人脸重建主要基于多视角相机或深度相机&#xff0c;随着深度学习的兴起&#xff0c;基于单张图片的人脸重建成为可能&#xff0c;且重建的精度…

数学建模---Matlab学习笔记

1.经典例题 &#xff08;1&#xff09;判断质数 给定一个大于100的数字&#xff0c;判断是否为质数 先设定布尔值是true,也就是假设这个数字是质数&#xff0c;利用for循环进行遍历直到n-1&#xff0c;如果被任意的数字整除&#xff0c;就说明不是质数&#xff0c;我们就把布…

python笔记(13)循环

目录 1. for循环 1.1 使用range()函数 2. while循环&#xff1a;基于条件的持续执行 3. 循环控制语句 3.1 break语句 3.2 continue语句 3.3 else子句&#xff08;仅适用于for和while循环&#xff09; 4. 循环的最佳实践与注意事项 本文将深入探讨Python中两种主要的循环…

2024 年排名前 5 的 CSS 框架

文章目录 1、Bootstrap2、Tailwind CSS3、Foundation4、Bulma5、UIKit 1、Bootstrap Bootstrap框架是由Twitter的设计师Mark Otto和Jacob Thornton合作开发的&#xff0c;于2011年8月在GitHub上发布。它是目前最受欢迎的前端框架之一&#xff0c;被广泛应用于各种Web项目中。Bo…

使用 usePrevious 实现 React 函数组件中上一状态值的追踪

在 React 开发过程中&#xff0c;有时我们需要在函数组件的某个阶段或事件处理函数中访问到上一次的状态值。然而&#xff0c;React 并未提供直接获取上一状态的内置机制。为了解决这个问题&#xff0c;我们可以采用一种名为 usePrevious 的自定义 Hook。本文将详细介绍 usePre…

mac apktool安装

在macOS上安装Apktool需要几个步骤。以下是安装Apktool的一般指南&#xff1a; 安装Java&#xff1a; 确保你的Mac上安装了Java。你可以通过在终端运行java -version来检查Java是否已经安装。如果还没有安装&#xff0c;你可以从Oracle官网下载并安装Java。 下载Apktool&#…

最新Latex2024安装教程 超简单

Latex是一款常用的论文写作工具&#xff0c;今天小菜介绍Latex的安装配置过程。 1. 来到官网下载镜像文件 https://www.tug.org/texlive/ 按步骤点击&#xff1a; 就会进入一个最近的镜像网站&#xff0c;选择textlive2024.iso即可 下载完成之后解压&#xff0c;安装路径…

Linux02(项目部署,手动和自动部署,JDK版本问题,安装软件,安装软件,安装JDK,Tomcat,MySQL,Irzsz)

目录 一、安装软件 1. 安装准备工作 1 Linux里的软件安装方式 2 上传软件到Linux 3 拍照虚拟机快照 2. 安装JDK 1 卸载自带jdk 2 解压JDK 3 配置环境变量 4 测试JDK 3. 安装Tomcat 1 解压Tomcat 2 修改防火墙设置 3 测试Tomcat 启动Tomcat 访问Tomcat 查看Tom…

javascript 统计按钮点击量

要实现计算按钮被点击的次数&#xff0c;我们可以借助JavaScript中的事件监听器。事件监听器可以帮助我们捕获用户在网页上的各种操作&#xff0c;如点击按钮、输入文本等。通过监听按钮的点击事件&#xff0c;我们可以在每次点击时进行相应的操作&#xff0c;例如增加点击计数…

Python 配置文件config.ini用法详解

1、介绍config.ini文件 config.ini是一种配置文件&#xff0c;常用于存储程序或系统的配置信息。它通常采用键值对的形式&#xff0c;每一行表示一个配置项&#xff0c;用等号&#xff08;&#xff09;将键和值分隔开。config.ini文件可以包含多个节&#xff08;section&#x…

git 小记

一、 github新建仓库 git clone 。。。。。。。。。。。 &#xff08;增删查补&#xff0c;修改&#xff09; git add . git commit -m "修改” git push (git push main) 二、branch 分支 branch并不难理解&#xff0c;你只要想像将代码拷贝到不同目录…

如何在Python中使用环境变量? —— Python环境变量的应用:安全和灵活的配置方法

在Python中&#xff0c;可以使用os模块来访问和操作环境变量。 要访问一个环境变量的值&#xff0c;可以使用os.environ字典。例如&#xff0c;要获取PATH环境变量的值&#xff0c;可以使用os.environ[PATH]。 要设置一个环境变量的值&#xff0c;可以使用os.environ字典的索…

vue一键复制实现(实测)

vue一键复制实现&#xff08;实测&#xff09; 描述&#xff1a;能够通过点击事件完成复制链接的功能 1. 安装clipboard npm install clipboard --save 2. 在vue组件中使用 <template><button class"btn" :data-clipboard-text"link">复制&…

MongoDB的CURD(增删改查操作)

读者大大们好呀&#xff01;&#xff01;!☀️☀️☀️ &#x1f525; 欢迎来到我的博客 &#x1f440;期待大大的关注哦❗️❗️❗️ &#x1f680;欢迎收看我的主页文章➡️寻至善的主页 ✈️如果喜欢这篇文章的话 &#x1f64f;大大们可以动动发财的小手&#x1f449;&#…

刷代码随想录有感(34):前k个高频元素

本题代码涉及到了多个陌生概念&#xff0c;题干如下&#xff1a; 代码; class Solution { public:class mycomparison{//自定义规则&#xff0c;使优先队列可以自动排序public:bool operator()(pair<int, int> & lhs, pair<int, int> & rhs){return lhs.s…

第十五届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组(基础题)

试题 C: 好数 时间限制 : 1.0s 内存限制: 256.0MB 本题总分&#xff1a;10 分 【问题描述】 一个整数如果按从低位到高位的顺序&#xff0c;奇数位&#xff08;个位、百位、万位 &#xff09;上 的数字是奇数&#xff0c;偶数位&#xff08;十位、千位、十万位 &…

SQLSERVER对等发布问题处理

问题1&#xff1a; 无法对 数据库Sast_Business 执行 删除&#xff0c;因为它正用于复制。 (.Net SqlClient Data Provider) 处理&#xff1a; USE [master]; GO EXEC sp_replicationdboption dbname NSast_Business, optname Npublish, value Nfalse; EXEC sp_replica…

如何保障UDP传输中数据文件不丢失?

UDP协议因其低时延和高速传输的特性&#xff0c;在实时应用和大量数据传输领域中发挥着不可或缺的作用。但是&#xff0c;由于UDP是一种无连接的通讯协议&#xff0c;它并不确保数据包的顺序、完整性和可靠性。 为了解决UDP传输中数据一致性的问题&#xff0c;技术专家们进行了…

【Linux系统编程】第四弹---基本指令(二)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、echo指令 2、cat指令 3、more指令 4、less指令 4、head指令 5、tail指令 6、时间相关的指令 7、cal指令 8、find指…

前端错误监控的方法有哪些

前端错误监控是指通过各种手段收集、分析和处理前端应用运行中发生的错误 常用的前端错误监控的方法有 使用 try catch 方法 捕获特定代码块中的错误多用于处理特定函数或代码段可能抛出的异常&#xff0c;尤其是异步代码网络请求错误监控 promise.catchtry catch全局错误处理…