diff --git a/feature_capabilities/src/main/ets/providers/AudioProvider.ets b/feature_capabilities/src/main/ets/providers/AudioProvider.ets index 2d3b2a8..c0a6186 100644 --- a/feature_capabilities/src/main/ets/providers/AudioProvider.ets +++ b/feature_capabilities/src/main/ets/providers/AudioProvider.ets @@ -133,7 +133,9 @@ export class AudioProvider implements CapabilityProvider { if (req.audiourl === '') { return; } - const user: string = req.user; + // user 可能被 H5 以数字(座位号)下发;须强转字符串再用于回投——对齐 Android json.getString("user")+""+uservoice。 + // 否则 number 的 .length 为 undefined,桥 doSend 判空丢弃 data → H5 gameui_play_voice 收到 undefined 报错(reading '0')、座位动画不播。 + const user: string = (req.user === undefined || req.user === null) ? '' : String(req.user); // 打断正在播的旧语音:先通知 H5 停旧座位动画,再释放(对齐"同一时刻只播一条")。 if (this.voicePlayer !== undefined && this.currentVoiceUser !== '') { this.bridge?.callHandler(OutboundHandlers.GameUiStopVoice, this.currentVoiceUser);