P2P通信でmediaConnection.replaceStreamが動作しない
【発生事象】
P2Pのビデオ通話中にビデオの画質を
mediaConnection.replaceStreamで変更すると
相手画面がフリーズする。
【環境】
・SDKバージョン:Android SDK ver 1.3.0
・クライアント: Xperia X4 Tablet、XperiaZ3 Tablet Compact、Galacy SC-02M、Docomo dtab d-01J
Android Studio エミュレーター Pixel2 (API21、28)
・OS: Android 5.0、6.0、9.0
・ネットワーク : LTE・WIFI
【再現手順】
1. SkyWay-Android-Sample p2p-callを使用
2. Android FAQ 「P2Pのビデオ通話中にビデオの画質を変更する方法」を貼り付け
3. ビルドして端末にインストール
【期待される事象】
Android FAQ 「P2Pのビデオ通話中にビデオの画質を変更する方法」が実現される。
【その他】
Android Studioのエラーログは特に出力されません。
-
追加情報を記載します。
1.Android SDKバージョンを最新にしてテストしました。
下記のバージョンでテストしましたが、動作しませんでした。
①Android SDK v2.0.0 ⇒ 動作せず
②Android SDK v2.0.1 ⇒ 動作せず
2.実装したコードを記載します。
サンプル:skyway-android-sdk-master/examples/p2p-call
① activity_main.xml
次のコードを追加
<Button
android:id="@+id/btnswitchstream"
android:layout_width="119dp"
android:layout_height="47dp"
android:text="Switch Stream"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/switchCameraAction" />
② MainActivity.java
onCreate内に次のコードを追加(Android SDK FAQの内容です。)
Button switchStream = (Button)findViewById(R.id.btnswitchstream);
switchStream.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(null != _localStream){
// 古いローカルストリームに割り当てれられているビデオレンダラーを取り外す
Canvas canvas = (Canvas) findViewById(R.id.svLocalView);
_localStream.removeVideoRenderer(canvas,0);// 古いローカルストリームを閉じる
_localStream.close();// Constraintsを指定して新しいローカルストリームを取得する(値は一例です)
MediaConstraints constraints2 = new MediaConstraints();
constraints2.maxWidth = 480;
constraints2.maxHeight = 360;
constraints2.cameraPosition = MediaConstraints.CameraPositionEnum.BACK;_newLocalStream = Navigator.getUserMedia(constraints2);
// 新しいローカルストリームにビデオレンダラーを割り当てる
_newLocalStream.addVideoRenderer(canvas,0);// MediaStreamを更新する
_mediaConnection.replaceStream(_newLocalStream);// _localStreamに新しいローカルストリームを代入
_localStream = _newLocalStream;
}
else {
//Failed
}
}});
Android SDK FAQ
P2Pのビデオ通話中にビデオの画質を変更する方法
よろしくお願い致します。
Please sign in to leave a comment.
Comments
1 comment