url.toLowerCase не является функцией в soundmanager2. js [Я использую импорт звука из'act-sound '] - PullRequest
0 голосов
/ 17 января 2020

Когда я пытаюсь загрузить файл, а затем вставить компонент Sound в «Reaction-Sound», я получаю эту ошибку:

url.toLowerCase is not a function
    at html5CanPlay (soundmanager2.js:4262)
    at html5OK (soundmanager2.js:4169)
    at SoundManager.createSound (soundmanager2.js:539)
    at call (index.js:59)
    at index.js:43
    at Array.forEach (<anonymous>)
    at index.js:42
    at processOnEvents (soundmanager2.js:4920)
    at soundmanager2.js:4947

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

Я использую реагировать, и мой код:

class Example extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            soundfile: null
        }
    }

    componentDidMount() {
        this.setState({soundfile: this.getFile()});
    }

    getFile = async () => {
        const audioFile = 'gs://MY_FILE_FROM_FIRESTORE';
        let url = await storage.refFromURL(audioFile).getDownloadURL();
        console.log(url);
        let response = await fetch(url);
        console.log(response);
        let body = response.body;
        console.log(body);
        return body;
    }


    render() {
        return(
            <div>
                <p> test </p>
                {this.state.soundfile ? <Sound
                    autoLoad={true}
                    url={this.state.soundfile}
                    playFromPosition={0}
                    playStatus={Sound.status.PLAYING}
                /> : null}
            </div>
        )
    }
}

Как я могу решить эту проблему?

...