【一步步开发AI运动APP】四、使用相机组件抽帧

简介: 本文介绍了如何使用`ai-camera`组件开发AI运动APP,助力开发者深耕AI运动领域。`ai-camera`是专为AI运动场景设计的相机组件,支持多平台,提供更强的抽帧处理能力和API。文章详细讲解了获取相机上下文、执行抽帧操作以及将帧保存到相册的功能实现,并附有代码示例。无论是AI运动APP还是其他场景,该组件都能满足预览、拍照、抽帧等需求。下篇将聚焦人体识别检测,敬请期待!

之前我们为您分享了【一步步开发AI运动小程序】开发系列博文,通过该系列博文,很多开发者开发出了很多精美的AI健身、线上运动赛事、AI学生体测、美体、康复锻炼等应用场景的AI运动小程序;为了帮助开发者继续深耕AI运动领域市场,今天开始我们将为您分享新系列【一步步开发AI运动APP】的博文,带您开发性能更强、体验更好的AI运动APP。

一、ai-camera组件介绍

使用过uni开发过APP的开发者,应该了解在uni-appuni-app x的APP模式下,不像小程序模式下有原生Camera组件可以使用操控相机,需要引入第三方插件或自行实现相机的预览、拍照、抽帧、录像等能力。
为了进一步减轻AI运动APP开发者的工作量,降低AI运动能力集成难度,在UNI-APP版的「AI运动识别」插件中,我们专门为AI运动场景量身打造了相机操控组件ai-camera
组件同时支持Android和iOS多平台;配置和操控API借鉴了小程序的风格,以减少开发者的学习使用成本;ai-camera相较于小程序的Camera更贴合AI运动场景,有些更强的操控能力、更高的抽帧处理效果、更多的高频应用API。
当然其他非AI运动APP开发者,也可以用来平替APP模式无相机组件的问题,完全能满足其它场景的预览、拍照、抽帧需求,以满足相机多端发布的需求。

二、获取相机上下文

在对相机进行抽帧、拍照等操作前,需要获得相机组件的操控上下文,而且成功获取上下的前提是,页面中有ai-camera组件,且建议在on-ready触发时获取,代码如下:

<template>
    <yz-ai-camera id="camera" class="camera" :device="cameraDevice" resolution="medium" @on-camera-ready="onCameraReady" />
</template>
<script>
//相机调用前须申请相应权限
import {
    Frame, ExtractFrameOptions, getCameraContext} from "@/uni_modules/yz-ai-sport";
export default {
    
    data(){
    
        cameraDevice: 'back'
    },
    methods:{
    
        onCameraReady() {
    
            const context = getCameraContext();
            let cameraDesc = context.getCurrentCamera();
            console.log(cameraDesc);
        }
    }
}
</script>

三、执行相机抽帧

在获得了相机操控上下文后,就可以对相机进行抽帧操作了,代码如下:

...
<script>
export default {
    
    ....
    methods:{
    
        onExtract() {
    
            const context = getCameraContext();
            context.startExtractFrame({
    
                onFrame(frame){
    
                    console.log(frame.width,frame.height,frame);
                }
            });

            //5s后停止抽帧
            setTimeout(()=>{
    
                context.stopExtractFrame();
            },5000);
        }
    }
}
</script>

四、将帧保存到相册

在相机抽帧中,经常会遇到需要将抽取的帧将转换成jpg等格式图像进行保存,插件专门为类似场景提供解析并保存帧图像至相册中的能力,代码如下:

...
<script>
export default {
    
    ....
    methods:{
    
        onExtract() {
    
            const context = getCameraContext();
            context.startExtractFrame({
    
                onFrame(frame){
    
                    //不建议每帧都保存,抽帧率都非常高,容易在相册中留下非常多的文件,浪费存储空
                    let file = context.saveFrameToAlbum(frame);
                    console.log(file);
                }
            });
        }
    }
}
</script>

好了,相机组件的基本应用就为您介绍到这,更多的相机能力,请参考插件API文档和Demo。

下篇我们将为您介绍人体识别检测,敬请期待...

115969-20250319202253060-79047414.png

相关文章
|
10月前
|
人工智能 安全 API
20 万奖金池就位!Higress AI 网关开发挑战赛参赛指南
本次赛事共设三大赛题方向,参赛者可以任选一个方向参赛。本文是对每个赛题方向的参赛指南。
710 71
|
10月前
|
人工智能 运维 安全
加速智能体开发:从 Serverless 运行时到 Serverless AI 运行时
在云计算与人工智能深度融合的背景下,Serverless 技术作为云原生架构的集大成者,正加速向 AI 原生架构演进。阿里云函数计算(FC)率先提出并实践“Serverless AI 运行时”概念,通过技术创新与生态联动,为智能体(Agent)开发提供高效、安全、低成本的基础设施支持。本文从技术演进路径、核心能力及未来展望三方面解析 Serverless AI 的突破性价值。
|
10月前
|
存储 人工智能 前端开发
Qoder + ADB Supabase :5分钟GET超火AI手办生图APP
本文介绍如何利用Qoder、阿里云ADB Supabase和通义千问图像编辑模型,快速搭建AI手办生图Flutter应用。无需传统后端,实现从前端生成到数据存储、AI服务集成的全链路敏捷开发,展现Vibe Coding的高效实践。
Qoder + ADB Supabase :5分钟GET超火AI手办生图APP
|
10月前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
8402 123
|
10月前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1126 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
10月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
2336 91
|
11月前
|
人工智能 安全 中间件
阿里云 AI 中间件重磅发布,打通 AI 应用落地“最后一公里”
9 月 26 日,2025 云栖大会 AI 中间件:AI 时代的中间件技术演进与创新实践论坛上,阿里云智能集团资深技术专家林清山发表主题演讲《未来已来:下一代 AI 中间件重磅发布,解锁 AI 应用架构新范式》,重磅发布阿里云 AI 中间件,提供面向分布式多 Agent 架构的基座,包括:AgentScope-Java(兼容 Spring AI Alibaba 生态),AI MQ(基于Apache RocketMQ 的 AI 能力升级),AI 网关 Higress,AI 注册与配置中心 Nacos,以及覆盖模型与算力的 AI 可观测体系。
1827 85
|
10月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
903 30
|
10月前
|
设计模式 人工智能 自然语言处理
3个月圈粉百万,这个AI应用在海外火了
不知道大家还记不记得,我之前推荐过一个叫 Agnes 的 AI 应用,也是当时在 WAIC 了解到的。
935 2
|
10月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。