シンチビデオチャット、リモートビデオを表示できません

スターター

私は現在SinchAndroidSDKを試しているので、現在いくつかの機能を試すためのテストアプリを開発しています。音声アプリからアプリへの通話に成功しましたが、ビデオアプリからアプリへの通話を試行中に問題が発生しました:接続が確立されると、発信者はリモートビデオを表示できますが、受信者はリモートビデオを表示できません(両方とも表示できます)彼らのローカルビデオ)。これが私のコードです:

コールリスナー

public class SinchVidListner implements VideoCallListener {
    private Activity a ;
    private TextView callState ;
    private Button dec ;
    private LinearLayout gl ;


    public SinchVidListner(Activity act)
    {
        a=act;
        callState = (TextView) a.findViewById(R.id.fullscreen_content);
        dec=(Button) a.findViewById(R.id.Decline) ;

    }
    @Override
    public void onVideoTrackAdded(Call call) {

        //remoteView = vc.getRemoteView();
    }

    @Override
    public void onCallProgressing(Call call) {
        callState.setText("Ringing");
    }

    @Override
    public void onCallEstablished(Call call) {
        DataHolder.getInstance().stop();
        a.setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE);
        callState.setText("");
        dec.setVisibility(View.GONE);
        if (! DataHolder.getInstance().isVidadd())
        {VideoController vc = DataHolder.getInstance().getClient().getVideoController();
         gl= (LinearLayout) a.findViewById(R.id.trust) ;
            gl.removeAllViews();
            gl.addView(vc.getLocalView());
            DataHolder.getInstance().setVidadd(true);}
    }

    @Override
    public void onCallEnded(Call call) {
        DataHolder.getInstance().setCall(null);
        Button button = (Button) a.findViewById(R.id.call) ;
        button.setText("Call");
        a.setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE);
        gl.removeAllViews();
        callState.setText("Call ended");
        DataHolder.getInstance().stop();
        dec.setVisibility(View.GONE);

    }

    @Override
    public void onShouldSendPushNotification(Call call, List<PushPair> list) {

    }
}

着信リスナー

public class SinchCallClientListener implements CallClientListener {
    Activity a ;
    Call call ;
    public SinchCallClientListener(Activity activity) {
        a=activity ;
    }

    @Override
    public void onIncomingCall(CallClient callClient, Call incomingCall) {
        Button button = (Button) a.findViewById(R.id.call) ;
        //call = incomingCall;
        //call.answer();
        if (! incomingCall.getDetails().isVideoOffered())
        {incomingCall.addCallListener(new SinchCallListener(a));}
        else
        {
            DataHolder.getInstance().setVidadd(false);
            incomingCall.addCallListener(new SinchVidListner(a));
        }
        DataHolder.getInstance().setCall(incomingCall);
        TextView callState = (TextView) a.findViewById(R.id.fullscreen_content);
        callState.setText("Ringing");
        button.setText("Answer");
        Button dec = (Button) a.findViewById(R.id.Decline) ;
        dec.setVisibility(View.VISIBLE);
        DataHolder.getInstance().play();

    }
}

呼び出し/ハングアップ/応答の実装

public void makecall(View v)
   {//DataHolder.getInstance().getCall().addCallListener(new SinchCallListener(this));
        int type = DataHolder.getInstance().getType();
       call=DataHolder.getInstance().getCall() ;
       if (call == null) {//make a call
           if (type==R.id.next) //when it's a just voice call
           {call=sinchClient.getCallClient().callUser(recipientId) ;
           call.addCallListener(new SinchCallListener(this));}
           else //when it's a Video call
           {
               call=sinchClient.getCallClient().callUserVideo(recipientId) ;
               DataHolder.getInstance().setClient(sinchClient);
               call.addCallListener(new SinchVidListner(this));

           }
           DataHolder.getInstance().setCall(call);
           button.setText("Hang Up");

       } else if (button.getText()=="Hang Up"){ //hangup
           call.hangup();
           call=null ;
           DataHolder.getInstance().setCall(call) ;
           button.setText("Call");
       }
       else { //answer
           DataHolder.getInstance().stop();
           call.answer();
           if (type==R.id.next) //when it's a just voice call
           {call.addCallListener(new SinchCallListener(this));}
           else // it's video call
           {   DataHolder.getInstance().setClient(sinchClient);
               call.addCallListener(new SinchVidListner(this));}
           button.setText("Hang Up");
       }
   }

詳細については、お気軽にお問い合わせください。ありがとうございます。

チェンセン

追加されたビデオトラックにリモートビデオを追加する必要があります

  @Override
public void onVideoTrackAdded(Call call) {
    // Get a reference to your SinchClient, in the samples this is done through the service interface:
    VideoController vc = getSinchServiceInterface().getVideoController();
    View myPreview = vc.getLocalView();
    View remoteView = vc.getRemoteView();
    // Add the views to your view hierarchy
    ...
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Quickbloxサンプルビデオチャット-ユーザーを作成できません

分類Dev

ビデオ ビュー ビデオは、リモート URL のこのビデオを再生できません

分類Dev

Gradleディストリビューションを使用してタイプ「EclipseProject」のモデルをフェッチできませんでした

分類Dev

Gradleディストリビューションを使用してタイプ「BuildEnvironment」のモデルをフェッチできませんでした

分類Dev

Javaコードでビデオスクリーンショットを撮ることができません

分類Dev

AndroidでビデオをストリーミングするときにVideoViewのスクリーンショットをキャプチャする方法

分類Dev

WebRTC Androidビデオチャットアプリ、1つのデバイスに別のデバイスを鳴らすことはできません

分類Dev

WebRTC:リモートビデオまたはオーディオを受信できません

分類Dev

デジタルオーシャンredisサービスコンポーネントにリモート接続できません

分類Dev

16.04インストール中のエラー「このビデオモードを表示できません」

分類Dev

イオンまたはハイブリッドアプリでビデオおよびオーディオチャットを実装する方法は?

分類Dev

WebRTCでリモートビデオをレンダリングできません

分類Dev

キャプチャカードからリアルタイムビデオを取得できません

分類Dev

iOSのデフォルトのカメラアプリケーションを使用してビデオをキャプチャすることはできません。Xamarin.iOS

分類Dev

Swift Playgroundsでビデオデータをキャプチャできません。captureOutputAVCaptureVideoDataOutputSampleBufferDelegateデリゲートメソッドが呼び出されていません

分類Dev

ConnectyCubeとのCordovaビデオチャット:Xcode9では構築できません

分類Dev

オーディオビットレートを設定できません

分類Dev

パブリックインターネット上でソケットを使用するビデオチャットアプリケーション

分類Dev

ABRビデオのビデオ/チャンクセグメントを単一のシームレスビデオに組み合わせる方法は?

分類Dev

テクスチャビュービデオとビットマップ表示

分類Dev

チャットアプリのrecyclerviewはデータやビューを表示しません

分類Dev

迅速なJanusはビデオを公開できませんが、リモートビデオを成功させる-理由がわかりません

分類Dev

Javaを使用したビデオ/ボイスチャットWebアプリケーション

分類Dev

RAW出力を別のプロセスにパイプするときに、オーディオビットレート、オーディオチャネル、およびオーディオサンプリング周波数の設定はFFmpegで重要ですか?

分類Dev

Javascriptチャートにデータを表示できません

分類Dev

Laravel + Vue.JSでのWebrtcビデオ/オーディオチャット

分類Dev

ビデオストリーミング停止は、YOLOV3モデルでビデオを使用しているときにGooglecolabを表示しています

分類Dev

ffmpegを使用して異なるビットレートでオーディオストリームを再エンコードできません

分類Dev

WCFサービスがクライアントのクラッシュをキャッチできません

Related 関連記事

  1. 1

    Quickbloxサンプルビデオチャット-ユーザーを作成できません

  2. 2

    ビデオ ビュー ビデオは、リモート URL のこのビデオを再生できません

  3. 3

    Gradleディストリビューションを使用してタイプ「EclipseProject」のモデルをフェッチできませんでした

  4. 4

    Gradleディストリビューションを使用してタイプ「BuildEnvironment」のモデルをフェッチできませんでした

  5. 5

    Javaコードでビデオスクリーンショットを撮ることができません

  6. 6

    AndroidでビデオをストリーミングするときにVideoViewのスクリーンショットをキャプチャする方法

  7. 7

    WebRTC Androidビデオチャットアプリ、1つのデバイスに別のデバイスを鳴らすことはできません

  8. 8

    WebRTC:リモートビデオまたはオーディオを受信できません

  9. 9

    デジタルオーシャンredisサービスコンポーネントにリモート接続できません

  10. 10

    16.04インストール中のエラー「このビデオモードを表示できません」

  11. 11

    イオンまたはハイブリッドアプリでビデオおよびオーディオチャットを実装する方法は?

  12. 12

    WebRTCでリモートビデオをレンダリングできません

  13. 13

    キャプチャカードからリアルタイムビデオを取得できません

  14. 14

    iOSのデフォルトのカメラアプリケーションを使用してビデオをキャプチャすることはできません。Xamarin.iOS

  15. 15

    Swift Playgroundsでビデオデータをキャプチャできません。captureOutputAVCaptureVideoDataOutputSampleBufferDelegateデリゲートメソッドが呼び出されていません

  16. 16

    ConnectyCubeとのCordovaビデオチャット:Xcode9では構築できません

  17. 17

    オーディオビットレートを設定できません

  18. 18

    パブリックインターネット上でソケットを使用するビデオチャットアプリケーション

  19. 19

    ABRビデオのビデオ/チャンクセグメントを単一のシームレスビデオに組み合わせる方法は?

  20. 20

    テクスチャビュービデオとビットマップ表示

  21. 21

    チャットアプリのrecyclerviewはデータやビューを表示しません

  22. 22

    迅速なJanusはビデオを公開できませんが、リモートビデオを成功させる-理由がわかりません

  23. 23

    Javaを使用したビデオ/ボイスチャットWebアプリケーション

  24. 24

    RAW出力を別のプロセスにパイプするときに、オーディオビットレート、オーディオチャネル、およびオーディオサンプリング周波数の設定はFFmpegで重要ですか?

  25. 25

    Javascriptチャートにデータを表示できません

  26. 26

    Laravel + Vue.JSでのWebrtcビデオ/オーディオチャット

  27. 27

    ビデオストリーミング停止は、YOLOV3モデルでビデオを使用しているときにGooglecolabを表示しています

  28. 28

    ffmpegを使用して異なるビットレートでオーディオストリームを再エンコードできません

  29. 29

    WCFサービスがクライアントのクラッシュをキャッチできません

ホットタグ

アーカイブ