Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
pangcong Git
jfui
Commits
1d449577
Commit
1d449577
authored
Jun 09, 2025
by
pangcong Git
Browse files
新增音频、视频按钮控制和点击事件监听
parent
babe189f
Changes
7
Hide whitespace changes
Inline
Side-by-side
JCCGuestPlugin/src/main/java/product/com/juphoon/cc/plugin/PresenterManager.java
View file @
1d449577
...
...
@@ -57,6 +57,9 @@ class PresenterManager {
this
.
mTalkPresenter
=
talkPresenter
;
}
public
TalkPresenter
<
IJRTCCommonEngineCallback
>
getTalkPresenter
()
{
return
this
.
mTalkPresenter
;
}
public
void
setCallPresenter
(
CallPresenter
callPresenter
)
{
this
.
mCallPresenter
=
callPresenter
;
}
...
...
JCCGuestPlugin/src/main/java/product/com/juphoon/cc/plugin/TalkPresenter.java
View file @
1d449577
...
...
@@ -50,6 +50,7 @@ import com.juphoon.rtc.kit.JRTCCommonEngine;
import
com.juphoon.rtc.kit.JRTCGlobalDefine
;
import
com.juphoon.rtc.kit.chatwindow.JRTCChatDetailLayout
;
import
com.juphoon.rtc.kit.view.IJRTCView
;
import
com.juphoon.rtc.kit.view.function.JRTCOnClickStateListener
;
import
com.juphoon.rtc.kit.view.function.doodle.JRTCDoodleLayout
;
import
com.juphoon.rtc.kit.view.function.doodle.JRTCScrawlView
;
import
com.juphoon.rtc.kit.view.function.tap.JRTCCameraView
;
...
...
@@ -1495,4 +1496,38 @@ class TalkPresenter<F extends IJRTCCommonEngineCallback> implements Contract.Tal
});
}
/**
* 修改当前按钮为开启状态
*/
public
void
openButton
(
JCCTalkingConfig
.
JCCToolBarButtons
jCCFlipButton
){
if
(
jCCFlipButton
==
JCCTalkingConfig
.
JCCToolBarButtons
.
JCCMicButton
){
// 麦克风按钮
mMicView
.
open
();
}
else
if
(
jCCFlipButton
==
JCCTalkingConfig
.
JCCToolBarButtons
.
JCCCameraButton
){
// 摄像头按钮
mCameraView
.
open
();
}
}
/**
* 修改当前按钮为关闭状态
*/
public
void
closeButton
(
JCCTalkingConfig
.
JCCToolBarButtons
jCCFlipButton
){
if
(
jCCFlipButton
==
JCCTalkingConfig
.
JCCToolBarButtons
.
JCCMicButton
){
// 麦克风按钮
mMicView
.
close
();
}
else
if
(
jCCFlipButton
==
JCCTalkingConfig
.
JCCToolBarButtons
.
JCCCameraButton
){
// 摄像头按钮
mCameraView
.
close
();
}
}
/**
* 设置当前点击状态监听
* @param onClickStateListener
*/
public
void
setJRTCOnClickStateListener
(
JCCTalkingConfig
.
JCCToolBarButtons
jCCFlipButton
,
JRTCOnClickStateListener
onClickStateListener
){
if
(
jCCFlipButton
==
JCCTalkingConfig
.
JCCToolBarButtons
.
JCCMicButton
){
// 麦克风按钮
mMicView
.
setOnClickListener
(
onClickStateListener
);
}
else
if
(
jCCFlipButton
==
JCCTalkingConfig
.
JCCToolBarButtons
.
JCCCameraButton
){
// 摄像头按钮
mCameraView
.
setOnClickListener
(
onClickStateListener
);
}
}
}
JCCGuestPlugin/src/main/java/public/com/juphoon/cc/plugin/JCCGuestManager.java
View file @
1d449577
...
...
@@ -2,6 +2,7 @@ package com.juphoon.cc.plugin;
import
com.juphoon.rtc.kit.IJRTCGuestCallback
;
import
com.juphoon.rtc.kit.JRTCGuestEngine
;
import
com.juphoon.rtc.kit.view.function.JRTCOnClickStateListener
;
import
java.util.List
;
...
...
@@ -86,6 +87,25 @@ public abstract class JCCGuestManager extends JCCCommonManagerImpl<IJRTCGuestCal
*/
public
abstract
void
setCallParam
(
JCCGuestCallParam
callParam
);
/**
* 修改当前按钮为开启状态
* @param jCCFlipButton 按钮类型
*/
public
abstract
void
openButton
(
JCCTalkingConfig
.
JCCToolBarButtons
jCCFlipButton
);
/**
* 修改当前按钮为关闭状态
* @param jCCFlipButton 按钮类型
*/
public
abstract
void
closeButton
(
JCCTalkingConfig
.
JCCToolBarButtons
jCCFlipButton
);
/**
* 设置当前点击状态监听
* @param jCCFlipButton 按钮类型
* @param onClickStateListener 点击状态监听
*/
public
abstract
void
setJRTCOnClickStateListener
(
JCCTalkingConfig
.
JCCToolBarButtons
jCCFlipButton
,
JRTCOnClickStateListener
onClickStateListener
);
}
/**
...
...
JCCGuestPlugin/src/main/java/public/com/juphoon/cc/plugin/JCCGuestManagerImpl.java
View file @
1d449577
...
...
@@ -31,6 +31,7 @@ import com.juphoon.rtc.JRTCRoomParticipant;
import
com.juphoon.rtc.kit.IJRTCGuestCallback
;
import
com.juphoon.rtc.kit.JRTCEngineConfig
;
import
com.juphoon.rtc.kit.JRTCGuestEngine
;
import
com.juphoon.rtc.kit.view.function.JRTCOnClickStateListener
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
...
...
@@ -606,4 +607,30 @@ class JCCGuestManagerImpl extends JCCGuestManager implements IJRTCGuestCallback
}
}
}
/**
* 修改当前按钮为开启状态
*/
public
void
openButton
(
JCCTalkingConfig
.
JCCToolBarButtons
jCCFlipButton
){
PresenterManager
.
getInstance
().
getTalkPresenter
().
openButton
(
jCCFlipButton
);
}
/**
* 修改当前按钮为关闭状态
*/
public
void
closeButton
(
JCCTalkingConfig
.
JCCToolBarButtons
jCCFlipButton
){
PresenterManager
.
getInstance
().
getTalkPresenter
().
closeButton
(
jCCFlipButton
);
}
/**
* 设置当前点击状态监听
* @param onClickStateListener
*/
public
void
setJRTCOnClickStateListener
(
JCCTalkingConfig
.
JCCToolBarButtons
jCCFlipButton
,
JRTCOnClickStateListener
onClickStateListener
){
if
(
jCCFlipButton
==
JCCTalkingConfig
.
JCCToolBarButtons
.
JCCMicButton
){
// 麦克风按钮
PresenterManager
.
getInstance
().
getTalkPresenter
().
setJRTCOnClickStateListener
(
jCCFlipButton
,
onClickStateListener
);
}
else
if
(
jCCFlipButton
==
JCCTalkingConfig
.
JCCToolBarButtons
.
JCCCameraButton
){
// 摄像头按钮
PresenterManager
.
getInstance
().
getTalkPresenter
().
setJRTCOnClickStateListener
(
jCCFlipButton
,
onClickStateListener
);
}
}
}
JRTCKit/src/main/common/com/juphoon/rtc/kit/view/function/JRTCOnClickStateListener.java
0 → 100644
View file @
1d449577
package
com.juphoon.rtc.kit.view.function
;
public
interface
JRTCOnClickStateListener
{
/**
* true 开启 false关闭
* @param state
*/
public
void
onClickState
(
Boolean
state
);
}
JRTCKit/src/main/common/com/juphoon/rtc/kit/view/function/tap/JRTCCameraView.java
View file @
1d449577
...
...
@@ -23,6 +23,7 @@ import com.juphoon.rtc.kit.model.config.JRTCTapViewModel;
import
com.juphoon.rtc.kit.util.JRTCClickProxy
;
import
com.juphoon.rtc.kit.util.JRTCScreenUtil
;
import
com.juphoon.rtc.kit.view.base.JRTCRelativeLayout
;
import
com.juphoon.rtc.kit.view.function.JRTCOnClickStateListener
;
import
com.juphoon.rtc.kit.view.toast.JRTCToastManager
;
public
class
JRTCCameraView
<
T
extends
JRTCCommonEngine
<
F
>,
F
extends
IJRTCCommonEngineCallback
>
extends
JRTCRelativeLayout
<
T
,
F
>
implements
View
.
OnClickListener
{
...
...
@@ -33,6 +34,7 @@ public class JRTCCameraView<T extends JRTCCommonEngine<F>, F extends IJRTCCommon
private
GradientDrawable
mViewGround
;
private
JRTCTapViewModel
mTapViewModel
;
private
JRTCFlipView
<?,
?>
mFlipView
;
private
JRTCOnClickStateListener
onClickStateListener
;
public
JRTCCameraView
(
Context
context
)
{
super
(
context
);
...
...
@@ -82,6 +84,34 @@ public class JRTCCameraView<T extends JRTCCommonEngine<F>, F extends IJRTCCommon
mWholeView
.
setOnClickListener
(
new
JRTCClickProxy
(
getContext
(),
this
));
}
/**
* 修改当前按钮为开启状态
*/
public
void
open
(){
int
state
=
mTapViewModel
.
getTapViewState
();
if
(
state
==
JRTCGlobalDefine
.
TAP_VIEW_STATE_CLOSED
){
mWholeView
.
performClick
();
}
}
/**
* 修改当前按钮为关闭状态
*/
public
void
close
(){
int
state
=
mTapViewModel
.
getTapViewState
();
if
(
state
==
JRTCGlobalDefine
.
TAP_VIEW_STATE_OPEN
){
mWholeView
.
performClick
();
}
}
/**
* 设置当前点击状态监听
* @param onClickStateListener
*/
public
void
setOnClickListener
(
JRTCOnClickStateListener
onClickStateListener
){
this
.
onClickStateListener
=
onClickStateListener
;
}
@Override
public
void
onClick
(
View
view
)
{
if
(
mEngine
!=
null
)
{
...
...
@@ -92,12 +122,14 @@ public class JRTCCameraView<T extends JRTCCommonEngine<F>, F extends IJRTCCommon
isEnableFlip
(
false
);
mTapViewModel
.
setTapViewState
(
JRTCGlobalDefine
.
TAP_VIEW_STATE_CLOSED
);
JRTCToastManager
.
getInstance
().
showMessage
(
getContext
(),
getContext
().
getString
(
R
.
string
.
kit_camera_is_off
));
onClickStateListener
.
onClickState
(
false
);
}
else
if
(
state
==
JRTCGlobalDefine
.
TAP_VIEW_STATE_CLOSED
)
{
mEngine
.
startCamera
();
mEngine
.
enableUploadVideoStream
(
true
);
isEnableFlip
(
true
);
mTapViewModel
.
setTapViewState
(
JRTCGlobalDefine
.
TAP_VIEW_STATE_OPEN
);
JRTCToastManager
.
getInstance
().
showMessage
(
getContext
(),
getContext
().
getString
(
R
.
string
.
kit_camera_is_on
));
onClickStateListener
.
onClickState
(
true
);
}
tabViewState
();
}
...
...
JRTCKit/src/main/common/com/juphoon/rtc/kit/view/function/tap/JRTCMicView.java
View file @
1d449577
...
...
@@ -23,6 +23,7 @@ import com.juphoon.rtc.kit.model.config.JRTCTapViewModel;
import
com.juphoon.rtc.kit.util.JRTCClickProxy
;
import
com.juphoon.rtc.kit.util.JRTCScreenUtil
;
import
com.juphoon.rtc.kit.view.base.JRTCRelativeLayout
;
import
com.juphoon.rtc.kit.view.function.JRTCOnClickStateListener
;
import
com.juphoon.rtc.kit.view.toast.JRTCToastManager
;
public
class
JRTCMicView
<
T
extends
JRTCCommonEngine
<
F
>,
F
extends
IJRTCCommonEngineCallback
>
extends
JRTCRelativeLayout
<
T
,
F
>
implements
View
.
OnClickListener
{
...
...
@@ -34,6 +35,7 @@ public class JRTCMicView<T extends JRTCCommonEngine<F>, F extends IJRTCCommonEng
private
GradientDrawable
mViewGround
;
JRTCTapViewModel
mTapViewModel
;
private
JRTCOnClickStateListener
onClickStateListener
;
public
JRTCMicView
(
Context
context
)
{
super
(
context
);
...
...
@@ -82,6 +84,32 @@ public class JRTCMicView<T extends JRTCCommonEngine<F>, F extends IJRTCCommonEng
mWholeView
.
setOnClickListener
(
new
JRTCClickProxy
(
getContext
(),
this
));
}
/**
* 修改当前按钮为开启状态
*/
public
void
open
(){
int
state
=
mTapViewModel
.
getTapViewState
();
if
(
state
==
JRTCGlobalDefine
.
TAP_VIEW_STATE_CLOSED
){
mWholeView
.
performClick
();
}
}
/**
* 修改当前按钮为关闭状态
*/
public
void
close
(){
int
state
=
mTapViewModel
.
getTapViewState
();
if
(
state
==
JRTCGlobalDefine
.
TAP_VIEW_STATE_OPEN
){
mWholeView
.
performClick
();
}
}
/**
* 设置当前点击状态监听
* @param onClickStateListener
*/
public
void
setOnClickListener
(
JRTCOnClickStateListener
onClickStateListener
){
this
.
onClickStateListener
=
onClickStateListener
;
}
@Override
public
void
onClick
(
View
view
)
{
...
...
@@ -91,10 +119,12 @@ public class JRTCMicView<T extends JRTCCommonEngine<F>, F extends IJRTCCommonEng
JRTCToastManager
.
getInstance
().
showMessage
(
getContext
(),
getContext
().
getString
(
R
.
string
.
kit_mic_is_off
));
mEngine
.
enableUploadAudioStream
(
false
);
mTapViewModel
.
setTapViewState
(
JRTCGlobalDefine
.
TAP_VIEW_STATE_CLOSED
);
onClickStateListener
.
onClickState
(
false
);
}
else
if
(
state
==
JRTCGlobalDefine
.
TAP_VIEW_STATE_CLOSED
)
{
mEngine
.
enableUploadAudioStream
(
true
);
mTapViewModel
.
setTapViewState
(
JRTCGlobalDefine
.
TAP_VIEW_STATE_OPEN
);
JRTCToastManager
.
getInstance
().
showMessage
(
getContext
(),
getContext
().
getString
(
R
.
string
.
kit_mic_is_on
));
onClickStateListener
.
onClickState
(
true
);
}
tabViewState
();
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment