Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 51a306c

Browse files
author
zhaoyongqiang
committed
Merge branch 'dev/4.1.1' of github.com:AgoraIO/API-Examples into dev/4.1.1
* 'dev/4.1.1' of github.com:AgoraIO/API-Examples: fix sdk upgrade compile problem [Android][Audio]fix RhythmPlayer bug(NMS-9838). [Android]fix RhythmPlayer bug(NMS-9838)
2 parents 26057ad + b27fb95 commit 51a306c

File tree

5 files changed

+35
-15
lines changed

5 files changed

+35
-15
lines changed

Android/APIExample-Audio/app/src/main/java/io/agora/api/example/examples/advanced/RhythmPlayer.java

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public class RhythmPlayer extends BaseFragment implements View.OnClickListener,
5555
private boolean isPlaying = false;
5656
private SeekBar beatPerMinute, beatPerMeasure;
5757
private AgoraRhythmPlayerConfig agoraRhythmPlayerConfig = new AgoraRhythmPlayerConfig();
58+
private ChannelMediaOptions mChannelMediaOptions;
5859

5960
@Override
6061
public void onCreate(@Nullable Bundle savedInstanceState)
@@ -214,6 +215,10 @@ public void onClick(View v)
214215
else if(v.getId() == R.id.play){
215216
if(!isPlaying){
216217
int ret = engine.startRhythmPlayer(URL_DOWNBEAT, URL_UPBEAT, agoraRhythmPlayerConfig);
218+
if(joined){
219+
mChannelMediaOptions.publishRhythmPlayerTrack = true;
220+
engine.updateChannelMediaOptions(mChannelMediaOptions);
221+
}
217222
Log.i(TAG, "startRhythmPlayer result:" + ret);
218223
isPlaying = true;
219224
beatPerMeasure.setEnabled(false);
@@ -222,6 +227,10 @@ else if(v.getId() == R.id.play){
222227
}
223228
else if(v.getId() == R.id.stop){
224229
engine.stopRhythmPlayer();
230+
if(joined){
231+
mChannelMediaOptions.publishRhythmPlayerTrack = false;
232+
engine.updateChannelMediaOptions(mChannelMediaOptions);
233+
}
225234
isPlaying = false;
226235
beatPerMeasure.setEnabled(true);
227236
beatPerMinute.setEnabled(true);
@@ -246,15 +255,15 @@ private void joinChannel(String channelId)
246255
/** Allows a user to join a channel.
247256
if you do not specify the uid, we will generate the uid for you*/
248257

249-
ChannelMediaOptions option = new ChannelMediaOptions();
250-
option.autoSubscribeAudio = true;
251-
option.autoSubscribeVideo = true;
252-
option.publishMicrophoneTrack = true;
258+
mChannelMediaOptions = new ChannelMediaOptions();
259+
mChannelMediaOptions.autoSubscribeAudio = true;
260+
mChannelMediaOptions.autoSubscribeVideo = true;
261+
mChannelMediaOptions.publishMicrophoneTrack = true;
253262
/**
254263
* config this for whether need push rhythem player to remote
255264
*/
256-
option.publishRhythmPlayerTrack = true;
257-
int res = engine.joinChannel(accessToken, channelId, 0, option);
265+
mChannelMediaOptions.publishRhythmPlayerTrack = isPlaying;
266+
int res = engine.joinChannel(accessToken, channelId, 0, mChannelMediaOptions);
258267
if (res != 0) {
259268
// Usually happens with invalid parameters
260269
// Error code description can be found at:

Android/APIExample/app/src/main/java/io/agora/api/example/examples/advanced/LiveStreaming.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ public void onRemoteAudioStats(RemoteAudioStats stats) {
668668
}
669669

670670
@Override
671-
public void onVideoRenderingTracingResult(int uid, Constants.MEDIA_RENDER_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) {
671+
public void onVideoRenderingTracingResult(int uid, Constants.MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) {
672672
super.onVideoRenderingTracingResult(uid, currentEvent, tracingInfo);
673673
runOnUIThread(() -> {
674674
FragmentLiveStreamingVideoTrackingBinding videoTrackingLayout = mRootBinding.videoTrackingLayout;

Android/APIExample/app/src/main/java/io/agora/api/example/examples/advanced/RhythmPlayer.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public class RhythmPlayer extends BaseFragment implements View.OnClickListener,
5555
private boolean isPlaying = false;
5656
private SeekBar beatPerMinute, beatPerMeasure;
5757
private AgoraRhythmPlayerConfig agoraRhythmPlayerConfig = new AgoraRhythmPlayerConfig();
58+
private ChannelMediaOptions mChannelMediaOptions;
5859

5960
@Override
6061
public void onCreate(@Nullable Bundle savedInstanceState)
@@ -214,6 +215,11 @@ public void onClick(View v)
214215
else if(v.getId() == R.id.play){
215216
if(!isPlaying){
216217
int ret = engine.startRhythmPlayer(URL_DOWNBEAT, URL_UPBEAT, agoraRhythmPlayerConfig);
218+
if (joined) {
219+
mChannelMediaOptions.publishRhythmPlayerTrack = true;
220+
engine.updateChannelMediaOptions(mChannelMediaOptions);
221+
}
222+
217223
Log.i(TAG, "startRhythmPlayer result:" + ret);
218224
isPlaying = true;
219225
beatPerMeasure.setEnabled(false);
@@ -222,6 +228,10 @@ else if(v.getId() == R.id.play){
222228
}
223229
else if(v.getId() == R.id.stop){
224230
engine.stopRhythmPlayer();
231+
if (joined) {
232+
mChannelMediaOptions.publishRhythmPlayerTrack = false;
233+
engine.updateChannelMediaOptions(mChannelMediaOptions);
234+
}
225235
isPlaying = false;
226236
beatPerMeasure.setEnabled(true);
227237
beatPerMinute.setEnabled(true);
@@ -246,15 +256,15 @@ private void joinChannel(String channelId)
246256
/** Allows a user to join a channel.
247257
if you do not specify the uid, we will generate the uid for you*/
248258

249-
ChannelMediaOptions option = new ChannelMediaOptions();
250-
option.autoSubscribeAudio = true;
251-
option.autoSubscribeVideo = true;
252-
option.publishMicrophoneTrack = true;
259+
mChannelMediaOptions = new ChannelMediaOptions();
260+
mChannelMediaOptions.autoSubscribeAudio = true;
261+
mChannelMediaOptions.autoSubscribeVideo = true;
262+
mChannelMediaOptions.publishMicrophoneTrack = true;
253263
/**
254264
* config this for whether need push rhythem player to remote
255265
*/
256-
option.publishRhythmPlayerTrack = true;
257-
int res = engine.joinChannel(accessToken, channelId, 0, option);
266+
mChannelMediaOptions.publishRhythmPlayerTrack = isPlaying;
267+
int res = engine.joinChannel(accessToken, channelId, 0, mChannelMediaOptions);
258268
if (res != 0) {
259269
// Usually happens with invalid parameters
260270
// Error code description can be found at:

windows/APIExample/APIExample/Basic/LiveBroadcasting/CLiveBroadcastingDlg.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ void CLiveBroadcastingRtcEngineEventHandler::onLeaveChannel(const RtcStats& stat
8282
}
8383
}
8484

85+
8586
void CLiveBroadcastingRtcEngineEventHandler::onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats)
8687
{
8788
if (m_hMsgHanlder && report) {
@@ -91,7 +92,7 @@ void CLiveBroadcastingRtcEngineEventHandler::onLocalVideoStats(VIDEO_SOURCE_TYPE
9192
}
9293
}
9394

94-
void CLiveBroadcastingRtcEngineEventHandler::onVideoRenderingTracingResult(uid_t uid, MEDIA_RENDER_TRACE_EVENT currentEvent, VideoRenderingTracingInfo info)
95+
void CLiveBroadcastingRtcEngineEventHandler::onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo info)
9596
{
9697
if (m_hMsgHanlder) {
9798
VideoRenderingTracingInfo* i = new VideoRenderingTracingInfo;

windows/APIExample/APIExample/Basic/LiveBroadcasting/CLiveBroadcastingDlg.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ class CLiveBroadcastingRtcEngineEventHandler
172172
void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) override;
173173

174174

175-
void onVideoRenderingTracingResult(uid_t uid, MEDIA_RENDER_TRACE_EVENT currentEvent, VideoRenderingTracingInfo info) override;
175+
void onVideoRenderingTracingResult(uid_t uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo info) override;
176176

177177
private:
178178
HWND m_hMsgHanlder;

0 commit comments

Comments
 (0)