Экспо Аудио. Запись Невозможно прочитать свойство 'uri' из неопределенного - PullRequest
0 голосов
/ 10 апреля 2020

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

import React, { useState, useEffect } from 'react';
import { Audio } from 'expo-av';
import PitchFinder from "pitchfinder";
import { StyleSheet, Text, View, Button } from 'react-native';

const Tuner = () => {
    const pitchFinder = new PitchFinder.YIN();
    const start = async () => {
        const recording = new Audio.Recording();
        console.log(recording)
        await recording.prepareToRecordAsync(Audio.RECORDING_OPTIONS_PRESET_HIGH_QUALITY);
        await recording.startAsync();
        const audio_stream = recording.getURI();
        console.log(audio_stream);
        await recording.stopAndUnloadAsync();
    }
    return (
        <View>
            <Button title="Start recording" onPress={() => start()} />
        </View>
    )
};

export default Tuner;

Приложение вылетает на await recording.prepareToRecordAsync(Audio.RECORDING_OPTIONS_PRESET_HIGH_QUALITY); с ошибкой

Необработанный отказ (TypeError): невозможно читать свойство 'uri' из неопределенного

1 Ответ

0 голосов
/ 10 апреля 2020

пожалуйста, проверьте документацию Экспо снова проверьте разрешение

https://docs.expo.io/versions/latest/sdk/audio/

попробуйте с

  const recording = new Audio.Recording();
    try {
      await recording.prepareToRecordAsync(Audio.RECORDING_OPTIONS_PRESET_HIGH_QUALITY);
      await recording.startAsync();
      // You are now recording!
    } catch (error) {
      // An error occurred!
    }
...