我正在使用Expo-Video-Player包,并且想要获取视频播放时的已经过去的时间。
<ExpoVideoPlayer videoProps={{ resizeMode: Video.RESIZE_MODE_STRETCH, source: { uri: videoUrl, }, }} inFullscreen={false} showControlsOnLoad={true} videoBackground={"#fff"} height={200} videoRef={video} showFullscreenButton={false} playIcon={() => playIcon} replayIcon={() => replayIcon} pauseIcon={() => pauseIcon} sliderColor={"#CE4A52"} />
P粉0463871332023-09-13 14:42:21
您可以使用onPlaybackStatusUpdate
属性。这是一个回调函数,它接收一个PlaybackStatus
对象作为参数。
PlaybackStatus
对象有一个positionMillis
属性,表示播放头当前的位置(以毫秒为单位)。
例如:
<Video { ...props } onPlaybackStatusUpdate={status => console.log(status.positionMillis)} />
要了解更多信息,请参阅Expo AV文档,Expo AV用法,positionMillis
属性
P粉9564410542023-09-13 00:47:02
为了实现这一点,请在props中调用此函数。
playbackCallBack={(e) => { console.log(e.positionMillis) }
然后,您可以在videoProps属性中使用progressUpdateIntervalMillis: 1000来调整事件触发的频率(以毫秒为单位)。