如何解决如何在 React Native 中播放麦克风流?
目标是通过 Wifi Direct 在 React Native 中制作一个简单的对讲机。
我能够通过使用库 react-native-udp 在第一部手机 (192.168.49.1) 上捕获麦克风流并将其发送到第二部手机 (192.168.49.200)。
如何在另一部手机上播放传输的音频? 尝试了不同的音频应用程序,但它们不支持原始音频缓冲区 AFAIK? 我应该先将它保存到一个文件中,然后再流式传输这个本地文件吗? 有什么想法吗?
import React,{Component} from 'react';
import {ScrollView,StyleSheet,Text,View} from 'react-native';
import Recording from "react-native-recording";
import dgram from 'react-native-udp';
class App extends Component {
constructor(props) {
super(props);
}
componentDidMount() {
Recording.init({
bufferSize: 4096,sampleRate: 44100,bitsPerChannel: 16,channelsPerFrame: 1,});
Recording.start();
let a = dgram.createSocket('udp4');
let aPort = 23456;
a.bind(aPort,'192.168.49.1',function(err) {
if (err) throw err;
});
a.once('listening',function() {
const listener = Recording.addRecordingEventListener((data) => {
a.send(msg,undefined,aPort,'192.168.49.200',function(err) {
if (err) throw err;
});
}
}
}
render() {
return (
<View style={styles.container}>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,justifyContent: 'center',alignItems: 'center',backgroundColor: '#F5FCFF',}
}
export default App;
解决方法
你试过这个模块了吗?这可能适合您的需要:
https://github.com/hqwhuang/react-native-AudioBufferPlayer
但我不确定 iOS。
或者您可以自己编写本机模块,并在 android 中使用 AudioTrack
类和在 iOS 中使用 AVAudioPCMBuffers
类进行共享。
一些有用的参考资料:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。