接入原生壳音频文件导入能力
新增 file.importAudio HostBridge 契约和 H5 facade 移动端通过 Expo DocumentPicker 读取受控音频文件 桌面端通过 Tauri 文件选择框读取受控音频文件 通用音频输入面板在原生壳复用宿主导入和现有音频处理管线 更新壳能力检查、测试、方案文档和共享决策记录
This commit is contained in:
@@ -60,6 +60,7 @@ describe('HostBridge shared contract helpers', () => {
|
||||
expect(isHostBridgeCapability('clipboard.readText')).toBe(true);
|
||||
expect(isHostBridgeCapability('file.importText')).toBe(true);
|
||||
expect(isHostBridgeCapability('file.importImage')).toBe(true);
|
||||
expect(isHostBridgeCapability('file.importAudio')).toBe(true);
|
||||
expect(isHostBridgeCapability('file.imageDropped')).toBe(true);
|
||||
expect(isHostBridgeCapability('app.setBadgeCount')).toBe(true);
|
||||
expect(isHostBridgeCapability('notification.showLocal')).toBe(true);
|
||||
|
||||
@@ -32,6 +32,7 @@ export const HOST_BRIDGE_METHODS = [
|
||||
'file.importText',
|
||||
'file.exportImage',
|
||||
'file.importImage',
|
||||
'file.importAudio',
|
||||
'haptics.impact',
|
||||
'notification.showLocal',
|
||||
] as const;
|
||||
@@ -336,6 +337,21 @@ export type FileImportImageResult = {
|
||||
};
|
||||
};
|
||||
|
||||
export type HostBridgeAudioMimeType =
|
||||
| 'audio/mpeg'
|
||||
| 'audio/mp4'
|
||||
| 'audio/wav'
|
||||
| 'audio/ogg'
|
||||
| 'audio/webm';
|
||||
|
||||
export type FileImportAudioResult = {
|
||||
action: 'selected';
|
||||
fileName: string;
|
||||
base64Data: string;
|
||||
mimeType: HostBridgeAudioMimeType;
|
||||
bytes: number;
|
||||
};
|
||||
|
||||
export type HapticsImpactPayload = {
|
||||
style?: 'light' | 'medium' | 'heavy';
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user