【发布时间】:2021-11-24 05:52:27
【问题描述】:
我的自动播放策略有问题,它完全弄乱了我的自定义布局。
在组件中,“播放”状态默认设置为 true 以触发自动播放,但刷新页面后,即使“播放”状态设置为 true,自动播放也不起作用。现在的问题是当用户单击播放按钮时,状态不会改变,因为它已经是 true,解决方案是将其设置为 false,然后再次设置为 true,但在此解决方案中,用户必须在图标上单击两次。
有人可以帮我解决这个问题吗,也许 react-player 已经有状态或方法来触发播放,我不需要“播放”状态来处理播放暂停。
这是一个简单的例子,它是如何工作的
export default function Untitled() {
const playerRef = useRef(null);
const [playing, setPlaying] = useState(true)
return (
<div>
<ReactPlayer
style={{display:"none"}}
controls={false}
playing={playing}
wrapper={"audio"}
progressInterval={200}
config={{
file: {
attributes: {preload: "auto"},
forceAudio:true,
},
}}
/>
<IconButton size="small">
{playerRef && playerRef.current.player.isPlaying ? (
<PauseIcon onClick={() => setPlaying(false)}/>
) : (
<PlayArrowIcon onClick={() => setPlaying(true)}/>
)}
</IconButton>
</div>
)
}
【问题讨论】:
-
添加您的示例代码。我们需要知道你在代码中做什么
标签: javascript reactjs react-player