我尝试过使用“#t=” fromat 到 mp3 文件,但它仍然不起作用。
代码如下: // App.tsx
import { useState, useEffect, useRef } from "react";
import "./App.css";
import audioFile from "./assets/Everybody.mp3";
export default function App() {
const [noIdx, setNoIdx] = useState(0);
const [yesChecker, setYesChecker] = useState(false);
const yesSize = noIdx * 20 + 16;
const audioRef = useRef<HTMLAudioElement | null>(null);
...
useEffect(() => {
const handleLoadedMetadata = () => {
if (audioRef.current) {
audioRef.current.currentTime = 13;
audioRef.current.play();
}
};
if (audioRef.current) {
audioRef.current.addEventListener("loadedmetadata", handleLoadedMetadata);
}
return () => {
if (audioRef.current) {
audioRef.current.removeEventListener(
"loadedmetadata",
handleLoadedMetadata,
);
}
};
}, []);
const handleNoClick = () => {
setNoIdx(noIdx + 1);
createHeart();
const noText = getNoText();
if (noText === "está bien") {
setYesChecker(true);
}
};
...
return (
<div className="flex flex-col items-center justify-center">
{yesChecker ? (
<>
<div className="flex flex-col items-center">
<img
className="h-[300px] mx-auto"
src="https://media.tenor.com/BNcELzaiMDkAAAAi/happy-valentines-day-my-love.gif"
alt="Happy Valentine's Day"
/>
<audio ref={audioRef} src={audioFile} autoPlay />
<h1 className="text-4xl my-4 text-center"> XFIN! :3</h1>
</div>
</>
)...
currentTime
是
HTMLMediaElement
的属性
HTMLMediaElement 接口的 currentTime 属性指定当前播放时间(以秒为单位)。在将 currentTime 设置为新值可在给定时间查找媒体(如果媒体可用)
HTMLMediaElement
中有一个
seekable
属性
HTMLMediaElement 对象的可查找只读属性返回一个新的静态规范化 TimeRanges 对象,该对象表示用户代理在访问可查找属性时能够查找的媒体资源范围(如果有)。听起来并非所有媒体都允许您尝试做的事情