expo-ble模块测试demo 联调BLE模块 take 10 新增log 打印ani文件前后512字节

This commit is contained in:
Yudi Xiao
2025-12-11 16:42:41 +08:00
parent f816165779
commit 83cdf722ac
8 changed files with 32 additions and 29 deletions

View File

@@ -6,9 +6,9 @@ import {
BleClient,
BleDevice,
BleError,
BleProtocolService, COMMAND_TYPES,
BleProtocolService, APP_COMMAND_TYPES,
ConnectionState,
DeviceInfo,
DeviceInfo, COMMAND_TYPES,
} from '../index';
import {DeviceInfoService} from '../services/DeviceInfoService'
import {FileTransferService} from "../services/FileTransferService";
@@ -25,11 +25,11 @@ interface BleState {
version: string;
isActivated: boolean;
transferProgress: number;
isTransferring: boolean;
discoveredDevices: BleDevice[];
loading: {
connecting: boolean;
querying: boolean;
converting: boolean;
transferring: boolean;
};
error: string | null;
@@ -50,11 +50,11 @@ export const useBleExplorer = () => {
version: '',
isActivated: false,
transferProgress: 0,
isTransferring: false,
discoveredDevices: [],
loading: {
connecting: false,
querying: false,
converting: false,
transferring: false,
},
error: null,
@@ -334,7 +334,7 @@ export const useBleExplorer = () => {
};
const convertToANI = useCallback(async (tempDir: Directory, media: ImagePicker.ImagePickerAsset): Promise<File> => {
const tempFile = new File(tempDir, `${media.fileName}.ani`)
const tempFile = new File(tempDir, `${media.fileName?.split('.')[0]}.ani`)
const formData = new FormData();
formData.append('file', {
uri: media.uri,
@@ -370,7 +370,9 @@ export const useBleExplorer = () => {
if (media.type === 'video') {
let tempFile: File;
console.debug(`Converting video: ${media.fileName || 'video'}...`);
setState(prev => ({...prev, loading: {...prev.loading, converting: true}}));
tempFile = await convertToANI(tempDir, media)
setState(prev => ({...prev, loading: {...prev.loading, converting: false}}));
console.log(`Transferring converted file to device...`);
await fileTransferService.transferFile(
state.connectedDevice.id,