Кордова телефон разрыв HTML5 видео не играет - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть реактивный SPA, который я построил, и он находится в Cordova. Я использую пакет npm, который позволяет мне снимать фото с видео. Это не работает после сборки apk, но отлично работает в сети. То же самое относится и к видео, которое у меня есть на сайте, воспроизводится в Интернете, не работает, когда находится внутри apk.

код внутри компонента для рендеринга видео / изображения:

<div className='modal_inner' id='player'>
    {this.state.started === true ? <button className='btn' onClick={() => { 
        this.takePhoto() }}><span>Take photo</span></button> : null}
    <div className='video_wrapper'>
        <video
            ref={this.videoRef}
            autoPlay={true}
        />
    {this.state.dataUri.length > 0 ? <img alt='imgCamera' 
        className='camera_image' src={this.state.dataUri} /> : null}
    </div>
</div>

И функции, которые работают с этим:

import CameraPhoto, { FACING_MODES } from 'jslib-html5-camera-photo';

constructor(props){
    this.state={
        dataUri:''
    }
    this.cameraPhoto = null;
    this.videoRef = React.createRef();
}

componentDidMount(){
    this.cameraPhoto = new CameraPhoto(this.videoRef.current);
}

    takePhoto() {
        const config = {
            sizeFactor: 0.5
        };

        let dataUri = this.cameraPhoto.getDataUri(config);
        this.setState({ 'dataUri': dataUri });


        this.stopCamera();


        localStorage.setItem('photo uri', this.state.dataUri);

    }

    stopCamera() {
        this.cameraPhoto.stopCamera()
            .then(() => {
                console.log('Camera stopped!');
            })
            .catch((error) => {
                console.log('No camera to stop!:', error);
            });
    }

...