From f5f19bc4c2b8f339c85ded8062c24b616300c791 Mon Sep 17 00:00:00 2001 From: acgist <289547414@qq.com> Date: Sat, 29 Apr 2023 10:18:06 +0800 Subject: [PATCH] =?UTF-8?q?[*]=20=E5=AE=89=E5=8D=93=E6=B6=88=E8=B4=B9?= =?UTF-8?q?=E5=AA=92=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/Learning.md | 50 +++++++++---------- .../com/acgist/taoyao/media/MediaManager.java | 4 +- .../com/acgist/taoyao/media/client/Room.java | 22 ++++---- taoyao-client-web/src/components/Taoyao.js | 4 ++ 4 files changed, 43 insertions(+), 37 deletions(-) diff --git a/docs/Learning.md b/docs/Learning.md index fde19af..426460e 100644 --- a/docs/Learning.md +++ b/docs/Learning.md @@ -2,34 +2,34 @@ ## WebRTC资料 -https://www.cnblogs.com/ssyfj/p/14828185.html -https://www.cnblogs.com/ssyfj/p/14826516.html -https://www.cnblogs.com/ssyfj/p/14823861.html -https://www.cnblogs.com/ssyfj/p/14815266.html -https://www.cnblogs.com/ssyfj/p/14811253.html -https://www.cnblogs.com/ssyfj/p/14806678.html -https://www.cnblogs.com/ssyfj/p/14805040.html -https://www.cnblogs.com/ssyfj/p/14788663.html -https://www.cnblogs.com/ssyfj/p/14787012.html -https://www.cnblogs.com/ssyfj/p/14783168.html -https://www.cnblogs.com/ssyfj/p/14781982.html -https://www.cnblogs.com/ssyfj/p/14778839.html +* https://www.cnblogs.com/ssyfj/p/14828185.html +* https://www.cnblogs.com/ssyfj/p/14826516.html +* https://www.cnblogs.com/ssyfj/p/14823861.html +* https://www.cnblogs.com/ssyfj/p/14815266.html +* https://www.cnblogs.com/ssyfj/p/14811253.html +* https://www.cnblogs.com/ssyfj/p/14806678.html +* https://www.cnblogs.com/ssyfj/p/14805040.html +* https://www.cnblogs.com/ssyfj/p/14788663.html +* https://www.cnblogs.com/ssyfj/p/14787012.html +* https://www.cnblogs.com/ssyfj/p/14783168.html +* https://www.cnblogs.com/ssyfj/p/14781982.html +* https://www.cnblogs.com/ssyfj/p/14778839.html ## Mediasoup资料 -https://www.cnblogs.com/ssyfj/p/14855454.html -https://www.cnblogs.com/ssyfj/p/14851442.html -https://www.cnblogs.com/ssyfj/p/14850041.html -https://www.cnblogs.com/ssyfj/p/14847097.html -https://www.cnblogs.com/ssyfj/p/14843182.html -https://www.cnblogs.com/ssyfj/p/14843082.html +* https://www.cnblogs.com/ssyfj/p/14855454.html +* https://www.cnblogs.com/ssyfj/p/14851442.html +* https://www.cnblogs.com/ssyfj/p/14850041.html +* https://www.cnblogs.com/ssyfj/p/14847097.html +* https://www.cnblogs.com/ssyfj/p/14843182.html +* https://www.cnblogs.com/ssyfj/p/14843082.html ## 更多资料 -https://zhuanlan.zhihu.com/p/466172240 -http://koca.szkingdom.com/forum/t/topic/218 -https://blog.csdn.net/qw225967/article/details/121251305 -http://www.manoner.com/post/音视频基础/WebRTC核心组件和协议栈/ -https://blog.csdn.net/ababab12345/article/details/115585378 -https://blog.csdn.net/jisuanji111111/article/details/121634199 -https://lequ7.com/guan-yu-webrtc-yi-wen-xiang-jie-webrtc-ji-chu.html +* https://zhuanlan.zhihu.com/p/466172240 +* http://koca.szkingdom.com/forum/t/topic/218 +* https://blog.csdn.net/qw225967/article/details/121251305 +* http://www.manoner.com/post/音视频基础/WebRTC核心组件和协议栈/ +* https://blog.csdn.net/ababab12345/article/details/115585378 +* https://blog.csdn.net/jisuanji111111/article/details/121634199 +* https://lequ7.com/guan-yu-webrtc-yi-wen-xiang-jie-webrtc-ji-chu.html diff --git a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/MediaManager.java b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/MediaManager.java index 3afa3f7..4991a57 100644 --- a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/MediaManager.java +++ b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/MediaManager.java @@ -721,14 +721,14 @@ public final class MediaManager { @Override public void onCapturerStarted(boolean status) { - Log.i(MediaManager.class.getSimpleName(), "结束视频捕获"); + Log.i(MediaManager.class.getSimpleName(), "开始视频捕获"); this.mainObserver.onCapturerStarted(status); this.shareObserver.onCapturerStarted(status); } @Override public void onCapturerStopped() { - Log.i(MediaManager.class.getSimpleName(), "开始视频捕获"); + Log.i(MediaManager.class.getSimpleName(), "结束视频捕获"); this.mainObserver.onCapturerStopped(); this.shareObserver.onCapturerStopped(); } diff --git a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/client/Room.java b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/client/Room.java index acf15eb..235d0ad 100644 --- a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/client/Room.java +++ b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/client/Room.java @@ -52,11 +52,10 @@ public class Room extends CloseableClient implements RouterCallback { private LocalClient localClient; private PeerConnection.RTCConfiguration rtcConfiguration; private PeerConnectionFactory peerConnectionFactory; - private String rtpCapabilities; - private String sctpCapabilities; + private Object rtpCapabilities; + private Object sctpCapabilities; /** - * * @param name 房间名称 * @param roomId 房间ID * @param clientId 当前终端ID @@ -121,8 +120,12 @@ public class Room extends CloseableClient implements RouterCallback { return this.taoyao.requestFuture( this.taoyao.buildMessage("media::router::rtp::capabilities", "roomId", this.roomId), response -> { - final Object rtpCapabilities = MapUtils.get(response.body(), "rtpCapabilities"); - this.nativeEnterRoom(this.nativeRoomPointer, JSONUtils.toJSON(rtpCapabilities), this.peerConnectionFactory.getNativePeerConnectionFactory(), this.rtcConfiguration); + this.nativeEnterRoom( + this.nativeRoomPointer, + JSONUtils.toJSON(MapUtils.get(response.body(), "rtpCapabilities")), + this.peerConnectionFactory.getNativePeerConnectionFactory(), + this.rtcConfiguration + ); return true; }, response -> { @@ -311,20 +314,19 @@ public class Room extends CloseableClient implements RouterCallback { @Override public void enterRoomCallback(String rtpCapabilities, String sctpCapabilities) { - this.rtpCapabilities = rtpCapabilities; - this.sctpCapabilities = sctpCapabilities; + this.rtpCapabilities = JSONUtils.toJava(rtpCapabilities); + this.sctpCapabilities = JSONUtils.toJava(sctpCapabilities); this.taoyao.push(this.taoyao.buildMessage( "room::enter", "roomId", this.roomId, "password", this.password, - "rtpCapabilities", rtpCapabilities, - "sctpCapabilities", sctpCapabilities + "rtpCapabilities", this.rtpCapabilities, + "sctpCapabilities", this.sctpCapabilities )); } @Override public void closeRoomCallback() { - } @Override diff --git a/taoyao-client-web/src/components/Taoyao.js b/taoyao-client-web/src/components/Taoyao.js index 345a983..dec6d40 100644 --- a/taoyao-client-web/src/components/Taoyao.js +++ b/taoyao-client-web/src/components/Taoyao.js @@ -1445,6 +1445,10 @@ class Taoyao extends RemoteClient { roomId: me.roomId, }) ); + if(!response.success) { + // TODO:提示 + return; + } const routerRtpCapabilities = response.body.rtpCapabilities; me.mediasoupDevice = new mediasoupClient.Device(); // mediasoupClient.parseScalabilityMode("L2T3");