找回密码
 立即注册
首页 业界区 安全 【一步步开发AI运动APP】六、运动计时计数能调用 ...

【一步步开发AI运动APP】六、运动计时计数能调用

事确 2025-6-1 18:55:28
之前我们为您分享了【一步步开发AI运动小程序】开发系列博文,通过该系列博文,很多开发者开发出了很多精美的AI健身、线上运动赛事、AI学生体测、美体、康复锻炼等应用场景的AI运动小程序;为了帮助开发者继续深耕AI运动领域市场,今天开始我们将为您分享新系列【一步步开发AI运动APP】的博文,带您开发性能更强、体验更好的AI运动APP。
通过前几篇博文,您已经可以通过插件在APP上进行抽帧、人体检测了,在获得到人体结构后,便可以进行运行分析实现人体计时计数了,uniAPP插件同微信小程序一样,仍然内置了跳绳、开合跳、俯卧撑、仰卧起坐、深蹲(深蹲起)、平板支撑、马步蹲等多个常见运动,可以满足健身、线上赛事、学生体测等场景需求,若有个性运动定制需求,也可以使用插件提供的pose-calc姿态分析检测接口,进行自定义扩展,后续章节再向您介绍。
1.gif

一、创建运动分析器

通过createSport(key string)可以创建相应的运动实例:
  1. import {getSports,createSport} from "@/uni_modules/yz-ai-sport";
  2. function createSport(){
  3.         //获取已注册的所有运动列表
  4.         let sports = getSports();
  5.         console.log(sports);
  6.        
  7.         //创建了一个开合跳运动分析器
  8.         const sport = createSport('jumping-jack');
  9. }
复制代码
二、进行运动分析,监听计数变化

启动运动分析,并向运动分析器推送人体结构,即可开展运动分析进行计时计数:
  1. import {getSports,createSport} from "@/uni_modules/yz-ai-sport";
  2. function createSport(){
  3.         //创建了一个开合跳运动分析器
  4.         const sport = createSport('jumping-jack');
  5.         sport.onTick = (counts,times)=>{
  6.                 //当计时计数发生变化时,会触发onTick回调
  7.                 console.log(counts,times);
  8.                 //更新UI等操作
  9.         };
  10.         sport.start();//启动运动分析
  11.        
  12.         let human = ... //见前一节,进行人体识别
  13.         sport.pushing(human);
  14. }
复制代码
三、停止、重置运动分析

可以调用sport.stop()停止或暂停运动分析,sport.reset()重置计数状态。
四、完整代码
  1. <template>
  2.                 <yz-ai-camera  : :device="cameraDevice"
  3.                         resolution="medium" @on-camera-ready="onCameraReady" />
  4.                 <yz-pose-grapher ref="grapher"  :
  5.                         :scaleRate="previewRate" :offsetX="previewOffsetX" :offsetY="previewOffsetY" lineColor="#FFFFFF"
  6.                         pointColor="#0091ff" leftColor="#009d00" />
  7. </template>
复制代码
2.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册