我正在使用Agora视频广播API并尝试广播ARCore场景。 可在Agora文档rtcEngine()。setVideoSource方法中找到,以获取帧的使用者。 我能够获得ARCore框架,并尝试将其传递给消费者:
private volatile IVideoFrameConsumer mConsumer;
...
private class ExternalVideoInputThread extends Thread {
@Override
public void run() {
while (true) {
Frame frame = mVideoGridContainer.getArSceneView().getArFrame();
try {
Image im = frame.acquireCameraImage();
ByteBuffer buffer = im.getPlanes()[0].getBuffer();
mConsumer.consumeByteBufferFrame(
buffer,
MediaIO.PixelFormat.TEXTURE_OES.intValue(),
width,
height,
0,
frame.getAndroidCameraTimestamp());
} catch (Throwable e) {
e.printStackTrace();
}
try {
Thread.sleep(1000 / DEFAULT_SHARE_FRAME_RATE);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
但是它不起作用,并且观众端看不到框架。有什么建议吗?