diff --git a/common/Index.ets b/common/Index.ets index 2f52062..9bdfc63 100644 --- a/common/Index.ets +++ b/common/Index.ets @@ -8,6 +8,7 @@ export { NavEvents, OpenGenericWebPayload, SwitchGamePayload, BackGamePayload } from './src/main/ets/event/NavEvents'; export { ShareEvents, SharePanelRequest, SharePanelResult, ShareGuideRequest, ShareGuideResult, PhotoUploadPayload } from './src/main/ets/event/ShareEvents'; +export { AudioEvents, ShowRecordingRequest, RecordResult } from './src/main/ets/event/AudioEvents'; export { DIContainer, Factory } from './src/main/ets/di/DIContainer'; export { ErrorCenter, ErrorStrategy, ErrorSink } from './src/main/ets/error/ErrorCenter'; export { AppEnv } from './src/main/ets/env/AppEnv'; diff --git a/common/src/main/ets/event/AudioEvents.ets b/common/src/main/ets/event/AudioEvents.ets new file mode 100644 index 0000000..8c51676 --- /dev/null +++ b/common/src/main/ets/event/AudioEvents.ets @@ -0,0 +1,24 @@ +/** + * 录音事件名 + 载荷(跨模块共享,仿 ShareEvents): + * AudioProvider(feature_capabilities) 起录音成功后 emit SHOW_RECORDING → + * BridgeGameContainer(entry) 显示录音浮层 + 观察 Web 触摸 → 用户抬手/上滑后经一次性 resultEvent 回投。 + * 载荷用具名 interface(ArkTS 严格:禁无类型对象字面量),禁传函数。 + */ +export class AudioEvents { + /** 录音器已 start 成功,请求显示录音浮层并开始观察触摸。 */ + static readonly SHOW_RECORDING: string = 'audio.showRecording'; +} + +/** SHOW_RECORDING 载荷。 */ +export interface ShowRecordingRequest { + /** 用户抬手/上滑后回投的一次性事件名(AudioProvider 已 EventBus.once 监听)。 */ + resultEvent: string; +} + +/** resultEvent 回投载荷(容器手势决策结果)。 */ +export interface RecordResult { + /** 'send'(正常发送)| 'cancel'(上滑取消)| 'tooShort'(时长<0.8s)。 */ + action: string; + /** 录音时长秒(UI 计时,对齐 Android mTime)。 */ + timeSec: number; +}