反应性音频发送问题

时间:2018-09-14 07:14:17

标签: file react-native react-native-android

我正在尝试发送音频文件,但我认为我没有正确选择文件。 我正在使用react-native-audio-toolkit,并且试图在它记录的地方使用rec对象,但这似乎不起作用,如何获取文件进行发送? 代码:

let rec = new Recorder("filename.mp4").record();

// Stop recording after approximately 3 seconds
setTimeout(() => {
  rec.stop(err => {
    // NOTE: In a real situation, handle possible errors here
    let data = new FormData();
    data.append("recording[path_to_recording]", rec);
    data.append("recording[challenge_id]", 1);
    data.append("recording[user_id]", 1);
    console.log(data);
    axios
      .post(config.API_URL + "recordings", data, {
        headers: {
          Authorization: "Bearer " + this.props.auth.token
        }
      })
      .then(res => res.data);

录制文件的日志如下:

  

记录器{_path:“ filename.mp4”,_ options:{…},_ recorderId:0,_state:-2,_duration:-1,…}   _持续时间   :   -1   _fsPath   :   “ /data/user/0/com.cobrn/files/filename.mp4”   _lastSync   :   -1   _options   :   自动销毁   :   (...)   获取自动销毁   :   ƒ()   设置autoDestroy   :   ƒ()   原始   :   宾语   _路径   :   “ filename.mp4”   _位置   :   -1   _recorderId   :   0   _州   :   -2   可以准备   :   (...)   canRecord   :   (...)   fsPath   :   (...)   isPrepared   :   (...)   isRecording   :   (...)   州   :   (...)   原始   :   EventEmitter

1 个答案:

答案 0 :(得分:0)

弄清楚了,您需要指定类型

data.append("recording[path_to_recording]", {
      uri: "file://" + rec._fsPath,
      name: "filename.mp4",
      type: "audio/mp4"
    });