Skip to content

Commit 777ee09

Browse files
CYGCYG
authored andcommitted
[Android]optmize ktvapi
1 parent 619b05e commit 777ee09

File tree

4 files changed

+34
-21
lines changed

4 files changed

+34
-21
lines changed

KTVAPI/Android/app/src/main/java/io/agora/ktvdemo/ui/LivingFragment.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,9 @@ class LivingFragment : BaseFragment<FragmentLivingBinding>() {
104104
ktvApi.switchSingerRole(KTVSingRole.CoSinger, object : ISwitchRoleStateListener {
105105
override fun onSwitchRoleSuccess() {
106106
mainHandler.post {
107-
toast("加入合唱成功")
107+
toast("加入合唱成功,自动开麦")
108+
ktvApi.muteMic(false)
109+
btMicStatus.text = "麦克风开"
108110
tvSinger.text = getString(R.string.app_co_singer)
109111
KeyCenter.role = KTVSingRole.CoSinger
110112
}

KTVAPI/Android/app/src/main/java/io/agora/ktvdemo/ui/MainFragment.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ class MainFragment : BaseFragment<FragmentMainBinding>() {
4040
btnLeadSinger.setOnClickListener {
4141
resetRoleView()
4242
KeyCenter.role = KTVSingRole.LeadSinger
43+
KeyCenter.localUid = KeyCenter.LeadSingerUid
4344
setRoleView()
4445
}
4546

KTVAPI/Android/lib_ktvapi/src/main/java/io/agora/ktvapi/KTVApiImpl.kt

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ class KTVApiImpl(
174174
if (ktvApiConfig.type == KTVType.SingRelay) {
175175
KTVApi.remoteVolume = 100
176176
}
177+
mPlayer.setPlayerOption("play_pos_change_callback", 100)
177178
}
178179

179180
// 数据上报
@@ -187,10 +188,12 @@ class KTVApiImpl(
187188
0)
188189
}
189190

191+
// 日志输出
190192
private fun ktvApiLog(msg: String) {
191193
Logging.i(tag, msg)
192194
}
193195

196+
// 日志输出
194197
private fun ktvApiLogError(msg: String) {
195198
Logging.e(tag, msg)
196199
}
@@ -297,6 +300,7 @@ class KTVApiImpl(
297300
processAudioProfessionalProfile()
298301
}
299302

303+
// 专业模式
300304
private fun processAudioProfessionalProfile() {
301305
ktvApiLog("processAudioProfessionalProfile: audioRouting: $audioRouting, professionalModeOpen: $professionalModeOpen, isPublishAudio:$isPublishAudio")
302306
if (!isPublishAudio) return // 必须为麦上者
@@ -308,22 +312,22 @@ class KTVApiImpl(
308312
mRtcEngine.setParameters("{\"che.audio.agc.enable\": false}")
309313
mRtcEngine.setParameters("{\"che.audio.ans.enable\": false}")
310314
mRtcEngine.setParameters("{\"che.audio.md.enable\": false}")
311-
mRtcEngine.setAudioProfile(5) // AgoraAudioProfileMusicHighQualityStereo
315+
mRtcEngine.setAudioProfile(AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO) // AgoraAudioProfileMusicHighQualityStereo
312316
} else {
313317
// 非耳机 开启3A 关闭md
314318
mRtcEngine.setParameters("{\"che.audio.aec.enable\": true}")
315319
mRtcEngine.setParameters("{\"che.audio.agc.enable\": true}")
316320
mRtcEngine.setParameters("{\"che.audio.ans.enable\": true}")
317321
mRtcEngine.setParameters("{\"che.audio.md.enable\": false}")
318-
mRtcEngine.setAudioProfile(5) // AgoraAudioProfileMusicHighQualityStereo
322+
mRtcEngine.setAudioProfile(AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO) // AgoraAudioProfileMusicHighQualityStereo
319323
}
320324
} else {
321325
// 非专业 开启3A 关闭md
322326
mRtcEngine.setParameters("{\"che.audio.aec.enable\": true}")
323327
mRtcEngine.setParameters("{\"che.audio.agc.enable\": true}")
324328
mRtcEngine.setParameters("{\"che.audio.ans.enable\": true}")
325329
mRtcEngine.setParameters("{\"che.audio.md.enable\": false}")
326-
mRtcEngine.setAudioProfile(3) // AgoraAudioProfileMusicStandardStereo
330+
mRtcEngine.setAudioProfile(AUDIO_PROFILE_MUSIC_STANDARD_STEREO) // AgoraAudioProfileMusicStandardStereo
327331
}
328332
}
329333

@@ -398,12 +402,14 @@ class KTVApiImpl(
398402
val oldRole = singerRole
399403

400404
// 调整开关麦状态
401-
if ((oldRole == KTVSingRole.LeadSinger || oldRole == KTVSingRole.SoloSinger) && (newRole == KTVSingRole.CoSinger || newRole == KTVSingRole.Audience) && !isOnMicOpen) {
402-
mRtcEngine.muteLocalAudioStream(true)
403-
mRtcEngine.adjustRecordingSignalVolume(100)
404-
} else if ((oldRole == KTVSingRole.Audience || oldRole == KTVSingRole.CoSinger) && (newRole == KTVSingRole.LeadSinger || newRole == KTVSingRole.SoloSinger) && !isOnMicOpen) {
405-
mRtcEngine.adjustRecordingSignalVolume(0)
406-
mRtcEngine.muteLocalAudioStream(false)
405+
if (ktvApiConfig.type != KTVType.SingRelay) {
406+
if ((oldRole == KTVSingRole.LeadSinger || oldRole == KTVSingRole.SoloSinger) && (newRole == KTVSingRole.CoSinger || newRole == KTVSingRole.Audience) && !isOnMicOpen) {
407+
mRtcEngine.muteLocalAudioStream(true)
408+
mRtcEngine.adjustRecordingSignalVolume(100)
409+
} else if ((oldRole == KTVSingRole.Audience || oldRole == KTVSingRole.CoSinger) && (newRole == KTVSingRole.LeadSinger || newRole == KTVSingRole.SoloSinger) && !isOnMicOpen) {
410+
mRtcEngine.adjustRecordingSignalVolume(0)
411+
mRtcEngine.muteLocalAudioStream(false)
412+
}
407413
}
408414

409415
if (this.singerRole == KTVSingRole.Audience && newRole == KTVSingRole.SoloSinger) {
@@ -756,14 +762,18 @@ class KTVApiImpl(
756762
override fun muteMic(mute: Boolean) {
757763
reportCallScenarioApi("muteMic", JSONObject().put("mute", isOnMicOpen))
758764
this.isOnMicOpen = !mute
759-
if (this.singerRole == KTVSingRole.SoloSinger || this.singerRole == KTVSingRole.LeadSinger) {
760-
mRtcEngine.adjustRecordingSignalVolume(if (isOnMicOpen) 100 else 0)
765+
if (ktvApiConfig.type != KTVType.SingRelay) {
766+
if (this.singerRole == KTVSingRole.SoloSinger || this.singerRole == KTVSingRole.LeadSinger) {
767+
mRtcEngine.adjustRecordingSignalVolume(if (isOnMicOpen) 100 else 0)
768+
} else {
769+
val channelMediaOption = ChannelMediaOptions()
770+
channelMediaOption.publishMicrophoneTrack = isOnMicOpen
771+
channelMediaOption.clientRoleType = CLIENT_ROLE_BROADCASTER
772+
mRtcEngine.updateChannelMediaOptions(channelMediaOption)
773+
mRtcEngine.muteLocalAudioStream(!isOnMicOpen)
774+
}
761775
} else {
762-
val channelMediaOption = ChannelMediaOptions()
763-
channelMediaOption.publishMicrophoneTrack = isOnMicOpen
764-
channelMediaOption.clientRoleType = CLIENT_ROLE_BROADCASTER
765-
mRtcEngine.updateChannelMediaOptions(channelMediaOption)
766-
mRtcEngine.muteLocalAudioStream(!isOnMicOpen)
776+
mRtcEngine.adjustRecordingSignalVolume(if (isOnMicOpen) 100 else 0)
767777
}
768778
}
769779

KTVAPI/Android/lib_ktvapi/src/main/java/io/agora/ktvapi/KTVGiantChorusApiImpl.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ class KTVGiantChorusApiImpl(
162162
contentCenterConfiguration.token = giantChorusApiConfig.rtmToken
163163
contentCenterConfiguration.maxCacheSize = giantChorusApiConfig.maxCacheSize
164164
if (KTVApi.debugMode) {
165-
contentCenterConfiguration.mccDomain = "api-test.agora.io"
165+
contentCenterConfiguration.mccDomain = KTVApi.mccDomain
166166
}
167167
mMusicCenter = IAgoraMusicContentCenter.create(mRtcEngine)
168168
mMusicCenter.initialize(contentCenterConfiguration)
@@ -314,22 +314,22 @@ class KTVGiantChorusApiImpl(
314314
mRtcEngine.setParameters("{\"che.audio.agc.enable\": false}")
315315
mRtcEngine.setParameters("{\"che.audio.ans.enable\": false}")
316316
mRtcEngine.setParameters("{\"che.audio.md.enable\": false}")
317-
mRtcEngine.setAudioProfile(5) // AgoraAudioProfileMusicHighQualityStereo
317+
mRtcEngine.setAudioProfile(AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO) // AgoraAudioProfileMusicHighQualityStereo
318318
} else {
319319
// 非耳机 开启3A 关闭md
320320
mRtcEngine.setParameters("{\"che.audio.aec.enable\": true}")
321321
mRtcEngine.setParameters("{\"che.audio.agc.enable\": true}")
322322
mRtcEngine.setParameters("{\"che.audio.ans.enable\": true}")
323323
mRtcEngine.setParameters("{\"che.audio.md.enable\": false}")
324-
mRtcEngine.setAudioProfile(5) // AgoraAudioProfileMusicHighQualityStereo
324+
mRtcEngine.setAudioProfile(AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO) // AgoraAudioProfileMusicHighQualityStereo
325325
}
326326
} else {
327327
// 非专业 开启3A 关闭md
328328
mRtcEngine.setParameters("{\"che.audio.aec.enable\": true}")
329329
mRtcEngine.setParameters("{\"che.audio.agc.enable\": true}")
330330
mRtcEngine.setParameters("{\"che.audio.ans.enable\": true}")
331331
mRtcEngine.setParameters("{\"che.audio.md.enable\": false}")
332-
mRtcEngine.setAudioProfile(3) // AgoraAudioProfileMusicStandardStereo
332+
mRtcEngine.setAudioProfile(AUDIO_PROFILE_MUSIC_STANDARD_STEREO) // AgoraAudioProfileMusicStandardStereo
333333
}
334334
}
335335

0 commit comments

Comments
 (0)