React-Native 将录制的音频发送到 AWS S3
Posted
技术标签:
【中文标题】React-Native 将录制的音频发送到 AWS S3【英文标题】:React-Native send recorded audio to AWS S3 【发布时间】:2018-06-13 02:37:52 【问题描述】:我正在尝试使用 React-Native 中的录音进行即时聊天。我在将录制的音频发送到 S3 时遇到问题。
我使用 React-Native-Audio 录制声音输入,使用 React-Native-Sound 播放录制的音频,使用 React-Native-aws3 将文件发送到 AWS。
我可以播放本地录制的音频。另外,我可以将图片发送到 S3。但是,当我尝试将音频发送到 AWS S3,并从 S3 提供的 url 播放音频时,音频不起作用。 S3 将文件显示为 0 字节。
这是我的代码:
const file =
audioPath, // `$AudioUtils.DocumentDirectoryPath/test.aac`
name: `$this.props.local.currentUserId$moment
.utc()
.format("YYYY-MM-DD-HH-mm-ss").aac`,
type: `audio/aac`
;
const options =
keyPrefix: ****,
bucket: ****,
region: ****,
accessKey: ****,
secretKey: ****
;
RNS3.put(file, options)
.progress(event =>
console.log(`percent: $event.percent`);
)
.then(response =>
console.log(response, "response from rns3 audio");
if (response.status !== 201)
console.error(response.body);
return;
// ... handling the response
)
我认为问题在于没有获取实际的录音。
【问题讨论】:
【参考方案1】:真是愚蠢的语法错误。
const file =
uri: audioPath,
name: `$this.props.local.currentUserId$moment
.utc()
.format("YYYY-MM-DD-HH-mm-ss").aac`,
type: `audio`
;
只需添加 uri 属性即可。
现在可以使用了!
对于那些想要查看示例的人: https://medium.com/@decentpianist/react-native-chat-with-image-and-audio-c09054ca2204
【讨论】:
以上是关于React-Native 将录制的音频发送到 AWS S3的主要内容,如果未能解决你的问题,请参考以下文章
sencha + Phone Gap中的相机应用程序[关闭]
NSInvalidArgumentException 使用 AFNetworking 将音频发送到服务器