小编Phi*_*ves的帖子

Android在两个进程之间共享SurfaceTexture

是否可以在两个进程之间共享SurfaceTexture,例如Activity和Service?

我想用TextureView创建一个Activity,并从一个单独的Service更新它的SurfaceTexture.

到目前为止,我正在创建一个带有生成的OpenGL纹理的SurfaceTexture(通过glGenTextures),然后我将这个表面纹理设置为我的TextureView:

mSurfaceTexture = new SurfaceTexture(texture_id);
mTextureView.setSurfaceTexture(mSurfaceTexture);
Run Code Online (Sandbox Code Playgroud)

在活动上显示此SurfaceTexture的相机预览正常工作:

mCamera = Camera.open();
mCamera.setPreviewTexture(mTextureView.getSurfaceTexture());
mCamera.startPreview();
Run Code Online (Sandbox Code Playgroud)

我想做同样的事情,但是从一个单独的服务,将texture_id传递给它,类似于:

mCamera = Camera.open();
mCamera.setPreviewTexture(new SurfaceTexture(texture_id));
mCamera.startPreview();
Run Code Online (Sandbox Code Playgroud)

原因是我有一个单独的进程调用私有api,需要SurfaceTexture来传输一些内容,并且可以通过应用程序中的aidl访问此进程.

谢谢

android aidl android-service textureview

5
推荐指数
1
解决办法
2597
查看次数

标签 统计

aidl ×1

android ×1

android-service ×1

textureview ×1