您也许可以使用Pipe从音频线程中产生数据并将其消耗到网络线程中。
通过新创建的OkHttp配方:
static final class PipeBody extends RequestBody { private final Pipe pipe = new Pipe(8192); private final BufferedSink sink = Okio.buffer(pipe.sink()); public BufferedSink sink() { return sink; } @Override public MediaType contentType() { ... } @Override public void writeTo(BufferedSink sink) throws IOException { sink.writeAll(pipe.source()); }}
如果您的数据可以连续写入,则此方法最有效。如果不能,那么最好用a
BlockingQueue<byte[]>或类似的方法做些类似的事情。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)