@@ -8,29 +8,27 @@ import android.view.ViewGroup
8
8
import androidx.navigation.fragment.findNavController
9
9
import io.agora.karaoke_view.v11.KaraokeView
10
10
import io.agora.ktvdemo.BuildConfig
11
- import io.agora.ktvdemo.IChannelEventListener
12
- import io.agora.ktvdemo.RtcEngineController
11
+ import io.agora.ktvdemo.rtc.RtcEngineController
13
12
import io.agora.ktvdemo.databinding.FragmentLivingBinding
14
- import io.agora.ktvdemo.ktvapi.IKTVApiEventHandler
15
- import io.agora.ktvdemo.ktvapi.ILrcView
16
- import io.agora.ktvdemo.ktvapi.IMusicLoadStateListener
17
- import io.agora.ktvdemo.ktvapi.ISwitchRoleStateListener
18
- import io.agora.ktvdemo.ktvapi.KTVApi
19
- import io.agora.ktvdemo.ktvapi.KTVApiConfig
20
- import io.agora.ktvdemo.ktvapi.KTVLoadMusicConfiguration
21
- import io.agora.ktvdemo.ktvapi.KTVLoadMusicMode
22
- import io.agora.ktvdemo.ktvapi.KTVLoadSongFailReason
23
- import io.agora.ktvdemo.ktvapi.KTVSingRole
24
- import io.agora.ktvdemo.ktvapi.MusicLoadStatus
25
- import io.agora.ktvdemo.ktvapi.SwitchRoleFailReason
26
- import io.agora.ktvdemo.ktvapi.createKTVApi
13
+ import io.agora.ktvapi.IKTVApiEventHandler
14
+ import io.agora.ktvapi.ILrcView
15
+ import io.agora.ktvapi.IMusicLoadStateListener
16
+ import io.agora.ktvapi.ISwitchRoleStateListener
17
+ import io.agora.ktvapi.KTVApi
18
+ import io.agora.ktvapi.KTVApiConfig
19
+ import io.agora.ktvapi.KTVLoadMusicConfiguration
20
+ import io.agora.ktvapi.KTVLoadMusicMode
21
+ import io.agora.ktvapi.KTVLoadSongFailReason
22
+ import io.agora.ktvapi.KTVSingRole
23
+ import io.agora.ktvapi.MusicLoadStatus
24
+ import io.agora.ktvapi.SwitchRoleFailReason
25
+ import io.agora.ktvapi.createKTVApi
26
+ import io.agora.ktvdemo.R
27
27
import io.agora.ktvdemo.utils.DownloadUtils
28
28
import io.agora.ktvdemo.utils.KeyCenter
29
- import io.agora.ktvdemo.utils.TokenGenerator
30
29
import io.agora.ktvdemo.utils.ZipUtils
31
30
import io.agora.mediaplayer.Constants
32
31
import io.agora.rtc2.ChannelMediaOptions
33
- import io.agora.rtc2.RtcEngine
34
32
import java.io.File
35
33
36
34
class LivingFragment : BaseFragment <FragmentLivingBinding >() {
@@ -41,6 +39,8 @@ class LivingFragment : BaseFragment<FragmentLivingBinding>() {
41
39
createKTVApi()
42
40
}
43
41
42
+ private val ktvApiEventHandler = object : IKTVApiEventHandler () {}
43
+
44
44
override fun getViewBinding (inflater : LayoutInflater , container : ViewGroup ? ): FragmentLivingBinding {
45
45
return FragmentLivingBinding .inflate(inflater)
46
46
}
@@ -53,18 +53,30 @@ class LivingFragment : BaseFragment<FragmentLivingBinding>() {
53
53
joinChannel()
54
54
}
55
55
56
+ override fun onDestroy () {
57
+ ktvApi.switchSingerRole(KTVSingRole .Audience , null )
58
+ ktvApi.removeEventHandler(ktvApiEventHandler)
59
+ ktvApi.release()
60
+ RtcEngineController .rtcEngine.leaveChannel()
61
+ super .onDestroy()
62
+ }
63
+
56
64
private fun initView () {
57
65
binding?.apply {
58
66
karaokeView = KaraokeView (lyricsView,null )
59
67
btnClose.setOnClickListener {
68
+ ktvApi.switchSingerRole(KTVSingRole .Audience , null )
69
+ ktvApi.removeEventHandler(ktvApiEventHandler)
70
+ ktvApi.release()
71
+ RtcEngineController .rtcEngine.leaveChannel()
60
72
findNavController().popBackStack()
61
73
}
62
74
if (KeyCenter .isLeadSinger()) {
63
- tvSinger.text = " 主唱 "
75
+ tvSinger.text = getString( R .string.app_lead_singer)
64
76
} else if (KeyCenter .isCoSinger()) {
65
- tvSinger.text = " 伴唱 "
77
+ tvSinger.text = getString( R .string.app_co_singer)
66
78
} else {
67
- tvSinger.text = " 观众 "
79
+ tvSinger.text = getString( R .string.app_audience)
68
80
}
69
81
}
70
82
}
@@ -249,31 +261,4 @@ class LivingFragment : BaseFragment<FragmentLivingBinding>() {
249
261
}
250
262
})
251
263
}
252
-
253
- private val ktvApiEventHandler = object : IKTVApiEventHandler () {
254
- override fun onMusicPlayerStateChanged (
255
- state : Constants .MediaPlayerState ,
256
- error : Constants .MediaPlayerError ,
257
- isLocal : Boolean
258
- ) {
259
- super .onMusicPlayerStateChanged(state, error, isLocal)
260
- }
261
-
262
- override fun onSingerRoleChanged (oldRole : KTVSingRole , newRole : KTVSingRole ) {
263
- super .onSingerRoleChanged(oldRole, newRole)
264
- }
265
-
266
- override fun onTokenPrivilegeWillExpire () {
267
- super .onTokenPrivilegeWillExpire()
268
-
269
- }
270
- }
271
-
272
- override fun onDestroy () {
273
- ktvApi.switchSingerRole(KTVSingRole .Audience , null )
274
- ktvApi.removeEventHandler(ktvApiEventHandler)
275
- ktvApi.release()
276
- RtcEngine .destroy()
277
- super .onDestroy()
278
- }
279
264
}
0 commit comments