我正在考虑建立一个自定义视图来直接处理java中的websocket、stomp、audiorecorder、audioplayer,而不是js bridge->java,如果您知道如何创建自定义视图并将其与react导航集成,请告诉我
我的目标是录制音频数据->将其传输到websocket端点。另一个设备将从websocket端点接收数据->播放音频数据。无需从byte[]->writablearray/string转换音频数据即可录制音频,并从websocket string->byte[]播放音频
录音机的当前解决方案:
以字节[]记录音频数据。
将音频数据转换为writablearray/string。
发射到js桥。
将音频数据发送到websocket端点。
音频播放器的当前解决方案:
从websocket端点接收音频数据。
运行一个以音频数据为参数的方法,例如 await AudioPlayerModule.streamAndLoadAsync(audioData)
.
@ReactMethod
public void streamAndPlayAsync(String data, final Promise promise) {
byte[] audioData = Base64.decode(data, Base64.NO_WRAP);
audioTrack.play();
audioTrack.write(audioData, 0, audioData.length);
audioTrack.stop();
promise.resolve(null);
}
将音频数据转换为字节[]。
播放音频。
我的预期结果是音频数据顺利播放。
我的实际结果:
512MB,虚拟设备,听起来像是以0.25的速度播放音频。
12-30 16:04:00.994 4740-4785/com.satpam I/ReactNativeJS: startAudioRecordingAsync()
12-30 16:04:01.264 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 363K, 42% free 6435K/10951K, paused 1ms+1ms, total 5ms
12-30 16:04:01.734 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 400K, 42% free 6429K/10951K, paused 12ms+12ms, total 29ms
12-30 16:04:02.174 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 380K, 42% free 6434K/10951K, paused 1ms+1ms, total 7ms
12-30 16:04:02.744 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 378K, 42% free 6447K/10951K, paused 12ms+12ms, total 30ms
12-30 16:04:03.194 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 396K, 42% free 6446K/10951K, paused 12ms+1ms, total 18ms
12-30 16:04:03.694 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 381K, 42% free 6458K/10951K, paused 11ms+1ms, total 20ms
12-30 16:04:04.214 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 387K, 42% free 6459K/10951K, paused 12ms+11ms, total 33ms
12-30 16:04:05.044 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 391K, 41% free 6482K/10951K, paused 14ms+21ms, total 127ms
12-30 16:04:05.384 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 408K, 41% free 6479K/10951K, paused 15ms+3ms, total 78ms
12-30 16:04:05.894 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 396K, 41% free 6495K/10951K, paused 12ms+5ms, total 29ms
12-30 16:04:06.284 4740-4785/com.satpam I/ReactNativeJS: stopAudioRecordingAsync()
12-30 16:04:06.804 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 395K, 41% free 6489K/10951K, paused 12ms+15ms, total 39ms
12-30 16:04:07.484 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 395K, 41% free 6496K/10951K, paused 12ms+14ms, total 35ms
12-30 16:04:07.924 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 403K, 41% free 6478K/10951K, paused 12ms+1ms, total 23ms
12-30 16:04:09.034 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 394K, 41% free 6474K/10951K, paused 14ms+4ms, total 31ms
12-30 16:04:09.854 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 391K, 41% free 6467K/10951K, paused 11ms+0ms, total 15ms
12-30 16:04:11.024 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 397K, 41% free 6462K/10951K, paused 13ms+14ms, total 45ms
12-30 16:04:12.824 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 408K, 42% free 6444K/10951K, paused 1ms+0ms, total 10ms
12-30 16:04:14.764 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 392K, 42% free 6439K/10951K, paused 13ms+12ms, total 35ms
12-30 16:04:16.774 4740-4744/com.satpam D/dalvikvm: GC_CONCURRENT freed 403K, 42% free 6432K/10951K, paused 17ms+20ms, total 67ms
6GB,真机,音频播放流畅。
暂无答案!
目前还没有任何答案,快来回答吧!