优化:公屏叫号默认播放并移除声音控制
需求:服务端下发音频已验证可用,公屏无需再显示开启声音按钮和状态提示。 实现:移除声音控制组件与首次点击门槛,新叫号到达后直接播放内置音频队列。 验证:前端 65 项测试通过,生产构建通过。
This commit is contained in:
@@ -1,37 +0,0 @@
|
||||
import type { RefObject } from "react";
|
||||
import type { AudioAnnouncementStatus } from "../hooks/useAudioAnnouncements";
|
||||
|
||||
interface AudioControlProps {
|
||||
audioRef: RefObject<HTMLAudioElement | null>;
|
||||
status: AudioAnnouncementStatus;
|
||||
onEnable: () => void;
|
||||
}
|
||||
|
||||
export function AudioControl({ audioRef, status, onEnable }: AudioControlProps) {
|
||||
return (
|
||||
<>
|
||||
<audio ref={audioRef} preload="auto" aria-hidden="true" />
|
||||
{status === "ready" ? (
|
||||
<aside className="speech-control speech-control--ready" role="status">
|
||||
<strong>叫号声音已开启</strong>
|
||||
<span>后续叫号将自动播报三次</span>
|
||||
</aside>
|
||||
) : (
|
||||
<aside className={`speech-control${status === "error" ? " speech-control--error" : ""}`} role="status">
|
||||
<div>
|
||||
<strong>{status === "error" ? "叫号声音开启失败" : "叫号声音尚未开启"}</strong>
|
||||
<span>{status === "error" ? "请检查设备媒体音量后重试" : "请点击一次,之后将自动播报"}</span>
|
||||
</div>
|
||||
<button
|
||||
className="button button--primary"
|
||||
type="button"
|
||||
disabled={status === "enabling"}
|
||||
onClick={onEnable}
|
||||
>
|
||||
{status === "enabling" ? "正在开启叫号声音" : status === "error" ? "重新开启叫号声音" : "开启叫号声音"}
|
||||
</button>
|
||||
</aside>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user