React Native - Expo Audio API Проблема с удаленным аудио URI: «Сервер настроен неправильно» - PullRequest
0 голосов
/ 28 октября 2018

Используя аудио API Expo, я столкнулся с проблемой воспроизведения аудиофайла с URL удаленного сервера.Во время устранения неполадок я вручную скопировал файл и протестировал require (local_file_path), и это работало нормально, поэтому проблема как-то связана с удаленным сервером.

Соответствующий собственный код ниже:

const playbackObject = await Audio.Sound.create(
      // require('../assets/audio/recording-1234.caf'),
      { uri: 'http://xx.x.x.xxx:5000/api/file/recording-1234.caf'},
      { shouldPlay: true }
    );

MyСервер является узлом JS / Express API.Конечная точка просто находит правильный файл в файловой системе локального сервера и возвращает ответ:

app.get('/api/file/:filename', function (req, res) {
    const fileName = req.params.filename
    const src = fs.createReadStream('./files/audio/' + fileName);
    res.setHeader( 'content-type', 'audio/x-caf')
    src.pipe(res);
    //'audio/x-caf'

})

Все мои аудиофайлы являются файлами .caf, так как они происходят из записи на устройстве.Я могу видеть из журналов сервера, через которые проходит GET-запрос.Мне кажется, мне просто не нравится мой ответ?

Я получаю сообщение об ошибке:

YellowBox.js:80 Possible Unhandled Promise Rejection (id: 0):
Error: The server is not correctly configured. - The AVPlayerItem instance has failed with the error code -11850 and domain "AVFoundationErrorDomain".
Error: The server is not correctly configured. - The AVPlayerItem instance has failed with the error code -11850 and domain "AVFoundationErrorDomain".
    at loadError (blob:http://localhost:19001/d3b3b86a-aac6-4b17-9f10-57945e3b1958:104934:28)
    at MessageQueue.__invokeCallback (blob:http://localhost:19001/d3b3b86a-aac6-4b17-9f10-57945e3b1958:2800:18)
    at blob:http://localhost:19001/d3b3b86a-aac6-4b17-9f10-57945e3b1958:2545:18
    at MessageQueue.__guardSafe (blob:http://localhost:19001/d3b3b86a-aac6-4b17-9f10-57945e3b1958:2713:11)
    at MessageQueue.invokeCallbackAndReturnFlushedQueue (blob:http://localhost:19001/d3b3b86a-aac6-4b17-9f10-57945e3b1958:2544:14)
    at http://localhost:19001/debugger-ui/debuggerWorker.js:70:58

Неправильно ли настроен мой сервер?Могу ли я не передавать файлы?В документации Expo нет никакой информации о том, какой тип ответа HTTP он ожидает, и я не уверен, как решить эту проблему.

Любая помощь очень ценится!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...