Android sinch库的远程视图,在加载项视图上显示黑色区域

Android sinch库的远程视图,在加载项视图上显示黑色区域,android,sinch,Android,Sinch,在我的应用程序中,我正在实现视频聊天,为此我正在使用sinch客户端,我正在参考官方文档提供的以下链接 https://www.sinch.com/docs/video/android/#videocalling 使用下面的代码,我将远程视图添加到布局中 @Override public void onVideoTrackAdded(Call call) { Log.e("test","video track added is called now");

在我的应用程序中,我正在实现视频聊天,为此我正在使用sinch客户端,我正在参考官方文档提供的以下链接

https://www.sinch.com/docs/video/android/#videocalling
使用下面的代码,我将远程视图添加到布局中

 @Override
    public void onVideoTrackAdded(Call call) {
        Log.e("test","video track added is called now");
        SinchClient sinchClient = getSinchServiceInterface().getSinchClient();
        if (sinchClient != null) {
            VideoController videoController =  sinchClient.getVideoController();

            View myPreview = videoController.getLocalView();
            View remoteView = videoController.getRemoteView();
            mUpperLinearLayout.addView(myPreview);
            mLowerLinearLayout.addView(remoteView);
        }
    }
我已经将我的UI分为两个线性布局,分别是upper layout和lower layout,我正在将远程视图添加到线性布局中,如文档中所述。但我在成功连接视频通话时看到了黑色或空白视图。为什么我会遗漏任何内容?我在log cat中观察到的另一个错误如下所述

 CameraEnumerator: java.lang.RuntimeException: Fail to connect to camera service
我在谷歌上搜索了很多,并尝试了下面提到的不同链接

 CameraEnumerator: java.lang.RuntimeException: Fail to connect to camera service

但是没有运气。有什么帮助吗

我正在使用下面的代码进行许可

 private void callVideo() {
    try {
        Call call = getSinchServiceInterface().callVideoUser(mVoipContact.getUserName());
        if (call == null) {
            // Service failed for some reason, show a Toast and abort
            Toast.makeText(getApplicationContext(), getString(R.string.txt_service_not_started) + getString(R.string.txt_placing_call), Toast.LENGTH_LONG).show();
            return;
        }
        String callId = call.getCallId();
        Intent callScreen = new Intent(getApplicationContext(), VideoCallScreenActivity.class);
        callScreen.putExtra(VoipConstants.CALL_ID, callId);
        startActivity(callScreen);
    } catch (MissingPermissionException e) {
        ActivityCompat.requestPermissions(MessagingActivity.this, new String[]{e.getRequiredPermission()}, REQUEST_CODE_PERMISSION_CALL);
    }
}
现在我可以看到下面的日志cat错误

VideoCapturerAndroid: Camera freezed: Camera failure.
像这样

if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 50);
}    else {       


   callVideo(); 
}

对于其他错误,请尝试在try Catch中添加此
setPreviewTexture()
,只需删除此行即可

当远程视图处于活动状态时,您正在添加localView。当sinch客户端就绪时,尝试添加localView。在sinch中,如果本地视图不清晰,则不会显示远程视图

我不知道您的代码流,所以我不能说您必须在哪里添加localView


我希望,它会对你有所帮助。

为什么你的fyp还没有结束?对不起,我没听清楚你有一次告诉我这是你的fyp,老师们要求提供一些功能,所以我认为它的FYPnoi现在正在工作,这是项目功能,我现在被困得很厉害好,您的清单中有摄像头权限吗?尝试过了,但现在我可以在日志中看到VideoCapturerAndroid:camera冻结:camera失败。在哪里使用setPreviewTexture()方法?