Как заставить проигрывать и приостанавливать видео в реагирующем родном? - PullRequest
0 голосов
/ 28 мая 2019

Я загружаю видео из моей галереи, в этом случае видео воспроизводится автоматически, но я хочу управлять видео с помощью кнопок воспроизведения и паузы, а также как удалить загруженный файл.здесь я использую сборщик изображений с выставки.

Это мой код, который воспроизводится автоматически

  selectVideo = async () => {
            let result = await ImagePicker.launchImageLibraryAsync({
               mediaTypes:"Videos"
            });
              if (!result.cancelled) {
                this.setState({ video: result.uri });
              }
          };
    render(){
return(
<Avatar xlarge rounded source={require('../../../assets/arrows.png')} onPress={this.selectVideo.bind(this)}/>
    {video &&
         <Video
                  source={{ uri: video }}
                  rate={1.0}
                  volume={1.0}
                  isMuted={false}
                  resizeMode="cover"
                  shouldPlay
                  isLooping
                  style={{ width:100, height:100 }}
                />
    }

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

ХОРОШО, я решил эту проблему. Я установил expo-video-player

команда: npm install expo-video-player.

0 голосов
/ 28 мая 2019

используйте pause prop для управления воспроизведением видео и pause

 handleClick=()=>{
  cosnt {isPause} =this.state;
  this.setState({isPause:!isPause})
  }
  render(){
 return{
  const {isPause}=this.state;
   <VideoPlayer
    source={source}
    ref={(ref) => {
      this.player = ref;
    }}
    paused={isPause}
    onBuffer={this.onBuffer}
    onEnd={this.onEnd}
    allowsExternalPlayback={true}
    onError={this.videoError}
    width={width}
    height={height}
  />
  {isPause && <IconWrapper onPress={this.handleClick}/>}
   }}
...