尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
哈基米“点图播放”
前两天用微信小程序的云开发做了个玩意儿点一下哈基米它就叫一声再点一下闭嘴再点又叫。中间折腾了一会儿把过程写下来。云开发解决了一个大麻烦微信小程序有个硬性限制主包不能超过 2M。一开始我想着直接把图片、音频丢项目里算了结果还没放几张图包体积就快爆了。这就好比你出门旅游行李箱就那么大非要把棉被枕头锅碗瓢盆全塞进去最后拉链都拉不上。用云开发就不一样了把素材传到云存储小程序里只放个网络地址。相当于你把东西寄存到酒店前台行李箱里只留一张取件码轻装上阵。所以这个案例的核心不是图片也不是音频而是云开发的用法。最终效果页面上趴着一张哈基米点一下 → 哈基米开始叫再点一下 → 闭嘴再点 → 继续叫控制台还会实时播报当前叫到哪了、叫得多快本质上就是个图片版的播放/暂停开关但配上哈基米就莫名喜感。开始动手1. 新建项目打开微信开发者工具项目名称随便我就叫“图片与声音”后端服务不使用云服务没关系云开发是后开的模板不使用模板建完得到一个光秃秃的空项目。2. 上传素材到云存储进云开发控制台 →存储→ 先创建存储桶没有桶你往哪儿装。然后建两个文件夹images→ 把mao.jpg丢进去audios→ 把hajimi.mp3丢进去3. 改权限进存储权限标签页选所有用户可读仅创建者可读写要是免费账号选不了这项那就保持默认的“仅创建者可读写”。不过这种情况拿到的链接是带签名的过一段时间会失效到时候你得重新复制一遍。这就好比你拿的是临时门禁卡过阵子就得去前台续一下。4. 复制文件地址回到存储管理点一下mao.jpg→ 右边弹出详情 → 复制“下载地址”再点hajimi.mp3→ 复制它的“下载地址”这俩地址一会儿要粘到代码里别搞混了。代码部分直接抄app.jsonjson { pages: [ pages/index/index ], window: { backgroundTextStyle: light, navigationBarBackgroundColor: #fff, navigationBarTitleText: 图片与声音, navigationBarTextStyle: black }, renderer: webview, style: v2, sitemapLocation: sitemap.json }app.wxsscss /**app.wxss**/ .container { display: flex; flex-direction: column; align-items: center; box-sizing: border-box; } pages/index/index.json json { usingComponents: {}, navigationStyle: custom }pages/index/index.wxmlhtml !-- index.wxml -- navigation-bar title图片与声音 back{{false}} colorblack background#FFF/navigation-bar view classcontainer view classtitle哈基米/view !-- 点图片触发 sing 事件 -- image src{{imgSrc}} modewidthFix bind:tapsing / /viewpages/index/index.wxsscss /**index.wxss**/ page { height: 100vh; display: flex; flex-direction: column; }pages/index/index.jsjavascript // index.js let innerAudioContext; let start false; // 控制播放/暂停状态 Page({ data: { // 把这里换成你自己云存储里的图片地址 imgSrc: 你的图片下载地址 }, onLoad() { // 创建音频上下文 innerAudioContext wx.createInnerAudioContext(); // 把这里换成你自己云存储里的音频地址 innerAudioContext.src 你的音频下载地址; // 设成 1.5 倍速声音快一点但不会变粗 innerAudioContext.playbackRate 1.5; }, sing() { start !start; if (start true) { innerAudioContext.play(); console.log(当前音频的播放位置, innerAudioContext.currentTime); console.log(当前音频播放速率, innerAudioContext.playbackRate); } else { innerAudioContext.pause(); console.log(当前音频的播放位置, innerAudioContext.currentTime); console.log(当前音频播放速率, innerAudioContext.playbackRate); } } })顺手加的两个小功能做完基础版之后我又顺手加了两个小功能播放速度可调在onLoad里写innerAudioContext.playbackRate 1.5。我试过设成 0.5声音直接变粗像哈基米感冒了。1.5 倍速就正常多了只是变快变尖像哈基米被踩了尾巴。控制台打印信息在sing函数里播放和暂停的分支各加两行console.log打印currentTime和playbackRate。控制台就能看到哈基米叫到哪了。结果展示
RELATED

相关推荐

高校运动生物力学实验室建设方案2026版:教学科研双场景设备配置指南

高校运动生物力学实验室建设方案2026版:教学科研双场景设备配置指南

【引言】2026年,高校运动生物力学实验室兼具教学普及与科研创新双重使命。多学科交叉背景下,实验室需兼顾本科简易教学与硕博高精度科研采集。本文结合一线落地经验,围绕两大场景梳理标准化设备配置思路与实施路径,为高校科研机构提供可落地的建设参考。一、实验室建设的核心诉…

📅 2026/10/14 18:50:18
seldon model status 详解:Seldon Core 2 模型状态查询与等待条件实战指南

seldon model status 详解:Seldon Core 2 模型状态查询与等待条件实战指南

人工智能大模型MLOpsLLMOps模型推理服务云原生后端 【免费下载链接】seldon-core An MLOps framework to package, deploy, monitor and manage thousands of production machine learning models 项目地址: https://gitcode.com/gh_mirrors/se/seldon-core 点击查看…

📅 2026/10/14 18:45:16
React + Spring 全栈实战:宠物领养匹配系统与 TTS 语音播报

React + Spring 全栈实战:宠物领养匹配系统与 TTS 语音播报

简介:PetMatch 是一套面向全栈开发学习者的宠物配对应用实战项目,采用 React 前端与 Spring Boot 后端组合,适合希望打通前后端技能、积累完整项目经验的开发者。项目围绕组件化 UI、状态与属性管理、React Router 路由,以及 Spri…

📅 2026/10/14 18:45:16
MORE NEWS

更多资讯

📰

AI Native Web开发实战:从接口调用到工具调用与状态管理

简介:这是一份面向AI时代Web应用开发者的实战代码包,聚焦将AI能力深度融入产品架构的系统性工程方法,适合具备TypeScript与Next.js基础、希望从零搭建AI Native产品的开发者参考。内容围绕RAG检索增强生成、Prompt Engineering工程化、向量数…

📰

制造业RAG开源框架:从手册问答到故障诊断的实践

制造业 RAG 这个方向,我盯了大半年,最后实在受不了通用框架在产线上的那些拧巴,干脆自己动手,把设备手册问答、故障诊断、工单检索这些常见能力揉成了一个开源框架。从最开始只能“让模型翻手册”,到后来能够照着故障树…

📰

有状态分析实战:持久上下文如何让AI数据分析成为分析伙伴

1. 项目背景:为什么我们需要Stateful Analytics最近在给某个业务域搭数据分析门户(我们内部叫DataAI Portal)的时候,遇到一个特别典型的问题:现有的AI问答分析工具,单个问题答得还行,但一进入多…

📰

Flink SQL自定义UDF解析Kafka复杂JSON完整实战

收到需求后我第一反应是:这不就是实时数仓里最常见的活吗?Kafka里推过来一条消息,外层套个公共字段,里面又套了业务对象,业务对象下面还有数组,数组元素里又是一个多层的结构体。要是字段都是平铺的&#x…

📰

微电网调度中MPC与MVO算法结合的Matlab实现

1. 项目解读:为什么微电网调度需要MPC,以及MVO来解决什么问题微电网这个话题,这几年确实从学术圈一路火到了工程落地。但你要是真做过微电网的调度问题,就会知道它远不像教科书里说的“一个目标函数加几个约束,扔给求解…

📰

PLINK按染色体位置提取SNP:区域筛选命令与实操要点

做GWAS分析的朋友一定绕不开一个操作:全基因组关联结果出来之后,想把某个染色体位置范围内的SNP单独提取出来,用于后续精细定位、功能注解或孟德尔随机化分析。我自己在几个项目里都靠PLINK的这个功能快速拿到候选区域的基因型子集&#xff0…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬