mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-16 01:21:20 -04:00
fixes
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -11,7 +11,7 @@
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<meta name="apple-mobile-web-app-title" content="Multi Roomba Rover" />
|
||||
<title>Multi Roomba Rover</title>
|
||||
<script type="module" crossorigin src="/assets/index-CyMJCyW9.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-CVZhRUxX.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-Bz1ixYh7.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -62,6 +62,7 @@ export default function VideoTile({
|
||||
const [restartToken, setRestartToken] = useState(0);
|
||||
const [audioRestartToken, setAudioRestartToken] = useState(0);
|
||||
const [muted, setMuted] = useState(true);
|
||||
const hasDedicatedAudio = Boolean(audioSessionInfo?.url);
|
||||
const usingSnapshot = videoMode === 'snapshot';
|
||||
const sensors = telemetryFrame?.sensors;
|
||||
const { value: audioSettings } = useSettingsNamespace('audio', AUDIO_SETTINGS_DEFAULTS);
|
||||
@@ -205,7 +206,7 @@ export default function VideoTile({
|
||||
|
||||
const attemptUnmute = useCallback(
|
||||
(delay = 0) => {
|
||||
if (forceMute) return;
|
||||
if (forceMute || hasDedicatedAudio) return;
|
||||
clearTimeout(unmuteTimer.current);
|
||||
|
||||
const scheduleRetry = () => {
|
||||
@@ -234,7 +235,7 @@ export default function VideoTile({
|
||||
|
||||
unmuteTimer.current = setTimeout(tryPlay, delay);
|
||||
},
|
||||
[ensurePlayback, forceMute],
|
||||
[ensurePlayback, forceMute, hasDedicatedAudio],
|
||||
);
|
||||
|
||||
useEffect(
|
||||
@@ -400,7 +401,11 @@ export default function VideoTile({
|
||||
});
|
||||
if (nextStatus === 'playing') {
|
||||
resumeAudioContext();
|
||||
audioRef.current?.play().catch(() => {});
|
||||
const target = audioRef.current;
|
||||
if (target) {
|
||||
target.muted = false;
|
||||
target.play().catch(() => {});
|
||||
}
|
||||
}
|
||||
if (['error', 'failed', 'disconnected', 'closed'].includes(nextStatus)) {
|
||||
scheduleAudioRestart();
|
||||
@@ -444,6 +449,7 @@ export default function VideoTile({
|
||||
const attemptPlay = async () => {
|
||||
const target = audioRef.current;
|
||||
if (!target) return;
|
||||
target.muted = false;
|
||||
if (!target.paused && !target.ended) return;
|
||||
await resumeAudioContext();
|
||||
target
|
||||
@@ -550,7 +556,7 @@ export default function VideoTile({
|
||||
) : (
|
||||
<video
|
||||
ref={videoRef}
|
||||
muted={forceMute || muted}
|
||||
muted={forceMute || muted || hasDedicatedAudio}
|
||||
playsInline
|
||||
autoPlay
|
||||
controls={false}
|
||||
|
||||
@@ -93,7 +93,7 @@ export const HORN_SETTINGS_DEFAULTS = {
|
||||
|
||||
export const AUDIO_SETTINGS_DEFAULTS = {
|
||||
masterVolume: 1,
|
||||
alertVolume: 0.3,
|
||||
alertVolume: 0.5,
|
||||
roverVolume: 1,
|
||||
autoLevelEnabled: true,
|
||||
autoLevelMode: 'compressor',
|
||||
|
||||
Reference in New Issue
Block a user