import { useTrajectoryPlayer } from "mujoco-react";
function PlaybackControls({ trajectory }) {
const player = useTrajectoryPlayer(trajectory, {
fps: 30,
speed: 1.0,
loop: true,
onComplete: () => console.log("done"),
onStateChange: ({ state }) => console.log(state),
});
return (
<div>
<button onClick={player.playing ? player.pause : player.play}>
{player.state === "completed" ? "Replay" : player.playing ? "Pause" : "Play"}
</button>
<button onClick={player.reset}>Reset</button>
<input
type="range"
min={0}
max={player.totalFrames - 1}
value={player.frame}
onChange={(e) => player.seek(Number(e.target.value))}
/>
<span>{Math.round(player.progress * 100)}%</span>
<select onChange={(e) => player.setSpeed(Number(e.target.value))}>
<option value="0.5">0.5x</option>
<option value="1" selected>1x</option>
<option value="2">2x</option>
</select>
</div>
);
}