鴻蒙5的首版發佈距現在已快滿一年了,同時伴隨着華為終端芯片製造的突破,搭載有HarmonyOS5的終端及用户的保有量在不斷的上升,各大廠商的APP也在逐漸適配鴻蒙生態,微信小程序生態也在逐漸適配成熟,移動端適配HarmonyOS生態已勢在必行。今天我們就結合我們一段時間以來「Ai樂運動」用户的反饋、實測驗證,來聊聊AI運動小程序在鴻蒙端的適配。
注:本文主要介紹適配鴻蒙5以及後的HarmonyOS Next純血版鴻蒙版本,HarmonyOS 4及以前的版本因為還兼容Android生態、微信小程序運行時也與Android版本無差異,所以無需特別適配。

AI運動小程序鴻蒙平台適配指南_AI健身

一、AI運動識別插件在鴻蒙5的實測表現

使用版v8.0.11微信分別在Harmony5.0.1Harmony5.1.0的實際測試結果如下:

功能

功能表現

備註

識別引擎ve1

正常

但精度不佳,與MTK芯片問題一致,開啓增強模式即可解決

識別引擎ve1,增強模式

正常

Harmony5+建議識別模式

識別引擎ve1

正常


骨骼圖繪製

正常


資態識別

正常


運動識別檢測

正常


運動自定義擴展

正常


測試使用時的插件版本為當前最新版本1.5.8,從結果看AI運動識別插件的功能在鴻蒙5的表現不存在兼容性問題,可以正常使用。

二、AI運動小程序在鴻蒙5的兼容性問題

使用微信版本v8.0.11分別在Harmony5.0.1Harmony5.1.0測試兼容問題主要表現在小程序的Camera組件,問題為Camera的非原生事件,即Web渲染層事件如taptouch___相關事件完全不觸發或偶爾觸發但是沒有冒泡向上傳播,代碼如下:

<template>
	<view class="human-detection" style="videoStyles" @tap="onWrapperClick">
		<!--原生initdone、error事件能正常觸發,但是渲染層事件tap不觸發,或者偶爾觸發但不冒泡-->
		<camera id="preview" class="preview" :style="videoStyles" flash="off" :device-position="deviceKey"
			resolution="medium" frame-size="small" @initdone="onCameraReady" @error="onCameraError" @tap="onCameraClick">
		</camera>
	</view>
</template>

如果您的AI運動小程序依賴Camera組件的非原生事件來交互,如全屏模式下點擊組件打開操作菜單等,在小程序運行時徹底修復上述問題之前,可以考慮先採用在Camera組件覆蓋一個一樣大小、透明的非原生組件如view來解決此問題,代碼如何下:

<template>
	<view class="human-detection" style="videoStyles" @tap="onWrapperClick">
		<camera id="preview" class="preview" :style="videoStyles" flash="off" :device-position="deviceKey"
			resolution="medium" frame-size="small" @initdone="onCameraReady" @error="onCameraError" @tap="onCameraClick">
		</camera>
		<!--增加一個遮罩層來承擔交互,保證非原生事件能正常觸發-->
		<view class="hramony-fix" :style="videoStyles"></view>
	</view>
</template>
<script>
export default{
	data(){
		return {};
	},
	methods:{
		onCameraClick(e){
			//不會觸發
		},
		onWrapperClick(e){
			//修補可以正常觸發
		}
	}
}
</script>

三、在純血鴻蒙下的適配指引

  • 3.1、將AI運動識別插件升級到最新版本,併為純血鴻蒙版本的用户開啓增強模式
  • 3.2、提示或調用API引導用户升級到最新版本的微信。
  • 3.3、若存在依賴Camera組件非原生事件交互的問題,可使用上述臨時方案修復交互。

AI運動小程序在純血鴻蒙下的適配就為您介紹到這,若有其它的適配場景我們繼續為您分享,歡迎關注...

AI運動小程序鴻蒙平台適配指南_AI體測_02