我正在尝试在按下整个视频时实现播放/暂停。
const RenderItem = (props) => {
const [paused, setPaused] = useState(true);
return (
<View>
{props.is_video ? (
<>
<Video
paused={paused}
resizeMode="contain"
source={{
uri: props.mediaUrl,
}}
/>
<TouchableWithoutFeedback onPress={setPaused}>
<Text>Play Darnit!</Text>
</TouchableWithoutFeedback>
</>
) : (
<Image
resizeMode="contain"
source={{uri: props.mediaUrl}}
/>
)}
</View>
);
};
似乎按下文本会导致视频播放(我能听到声音),然后它很快就会收到一条错误消息:
JSON value '{
"_dispatchInstances" = "<null>";
"_dispatchListeners" = "<null>";
"_targetInst" = "<null>";
bubbles = "<null>";
cancelable = "<null>";
defaultPrevented = "<null>";
dispatchConfig = "<null>";
eventPhase = "<null>";
isTrusted = "<null>";
nativeEvent = "<null>";
target = "<null>";
type = "<null>";
}' of type NSMutableDictionary cannot be converted to BOOL
另外,顺便提一下,这个 RenderItem 正在一个 FlatList 中呈现,其中有多个视频。我不确定我是否还必须将按钮与正确的视频相匹配?因此播放按钮不会意外播放另一个视频,或一次播放所有视频。
为什么我会收到此错误?