Skip to content

Commit 0aedd87

Browse files
committed
完善android互动直播
1 parent 57d1a89 commit 0aedd87

File tree

9 files changed

+102
-67
lines changed

9 files changed

+102
-67
lines changed

Audio/AR-Android-VoiceLive-Base/app/src/main/java/org/ar/ar_android_voicelive_base/VoiceLiveActivity.kt

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.os.Handler
66
import android.os.Looper
77
import android.os.Message
88
import android.util.Log
9+
import android.view.KeyEvent
910
import android.view.LayoutInflater
1011
import android.view.View
1112
import android.widget.TextView
@@ -123,39 +124,45 @@ class VoiceLiveActivity:AppCompatActivity(),View.OnClickListener{
123124
}
124125
mRtcEngine?.setEnableSpeakerphone(true)
125126
mRtcEngine?.joinChannel(getString(R.string.ar_token),channelId,"",VoiceLive.voiceLive.userId)
127+
}
126128

129+
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
130+
if (keyCode == KeyEvent.KEYCODE_BACK){
131+
release()
132+
finish()
133+
return true
134+
}
135+
return super.onKeyDown(keyCode, event)
127136
}
128137

138+
129139
override fun onClick(p0: View?) {
130140
when(p0?.id){
131141
R.id.mic->{
132-
if (isMic){
133-
viewBinding?.mic?.setImageResource(R.drawable.img_audio_open)
134-
}else{
135-
viewBinding?.mic?.setImageResource(R.drawable.img_audio_close)
136-
}
137142
isMic =!isMic
143+
viewBinding?.mic?.isSelected= isMic
138144
mRtcEngine?.muteLocalAudioStream(isMic)
139145
}
140146
R.id.leave->{
147+
release()
141148
finish()
142149
}
143150
R.id.voice->{
144-
if (isVoice){
145-
viewBinding?.voice?.setImageResource(R.drawable.img_voice_open)
146-
}else{
147-
viewBinding?.voice?.setImageResource(R.drawable.img_voice_close)
148-
}
149151
isVoice =!isVoice
152+
viewBinding?.voice?.isSelected =isVoice
150153
mRtcEngine?.setEnableSpeakerphone(!isVoice)
151154
}
152155
}
153156
}
154157

155-
override fun onDestroy() {
156-
super.onDestroy()
158+
private fun release(){
157159
mRtcEngine?.leaveChannel()
158160
RtcEngine.destroy()
159-
mRtcEngine =null
161+
mRtcEngine=null
162+
}
163+
164+
override fun onDestroy() {
165+
super.onDestroy()
166+
release()
160167
}
161168
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<selector xmlns:android="http://schemas.android.com/apk/res/android">
3+
<item android:state_selected="true" android:drawable="@drawable/img_audio_close"/>
4+
<item android:state_selected="false" android:drawable="@drawable/img_audio_open"/>
5+
</selector>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<selector xmlns:android="http://schemas.android.com/apk/res/android">
3+
<item android:state_selected="true" android:drawable="@drawable/img_voice_close"/>
4+
<item android:state_selected="false" android:drawable="@drawable/img_voice_open"/>
5+
</selector>

Audio/AR-Android-VoiceLive-Base/app/src/main/res/layout/activity_voice.xml

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,39 +13,48 @@
1313
android:layout_height="match_parent"
1414
android:layout_marginBottom="@dimen/dp_100"/>
1515

16-
<RelativeLayout
16+
<LinearLayout
1717
android:layout_width="match_parent"
1818
android:layout_height="wrap_content"
1919
android:layout_marginBottom="@dimen/dp_20"
2020
android:layout_alignParentBottom="true">
2121

22-
<ImageView
22+
<Button
2323
android:id="@+id/mic"
24-
android:layout_width="@dimen/dp_62"
25-
android:layout_height="@dimen/dp_62"
26-
android:layout_marginStart="@dimen/dp_38"
27-
android:padding="@dimen/dp_5"
28-
android:layout_alignParentStart="true"
29-
android:src="@drawable/img_audio_open"/>
24+
android:layout_width="0dp"
25+
android:layout_height="wrap_content"
26+
android:layout_weight="1"
27+
android:drawableTop="@drawable/selector_audio_drawable"
28+
android:text="静音"
29+
android:textColor="@color/white"
30+
android:drawablePadding="@dimen/dp_10"
31+
android:background="@null"/>
3032

31-
<ImageView
33+
<Button
3234
android:id="@+id/leave"
33-
android:layout_width="@dimen/dp_72"
34-
android:layout_height="@dimen/dp_72"
35+
android:layout_width="@dimen/dp_0_1"
36+
android:layout_height="wrap_content"
37+
android:layout_weight="1"
3538
android:layout_marginLeft="@dimen/dp_10"
3639
android:layout_marginRight="@dimen/dp_10"
37-
android:padding="@dimen/dp_5"
38-
android:layout_centerInParent="true"
39-
android:src="@drawable/img_leave"/>
40+
android:drawableTop="@drawable/img_leave"
41+
android:text="挂断"
42+
android:textColor="@color/white"
43+
android:drawablePadding="@dimen/dp_10"
44+
android:background="@null"/>
4045

41-
<ImageView
46+
<Button
4247
android:id="@+id/voice"
43-
android:layout_width="@dimen/dp_62"
44-
android:layout_height="@dimen/dp_62"
45-
android:layout_marginEnd="@dimen/dp_38"
48+
android:layout_width="0dp"
49+
android:layout_height="wrap_content"
50+
android:layout_weight="1"
4651
android:padding="@dimen/dp_5"
47-
android:layout_alignParentEnd="true"
48-
android:src="@drawable/img_voice_open"/>
49-
</RelativeLayout>
52+
android:text="免提"
53+
android:textColor="@color/white"
54+
android:drawablePadding="@dimen/dp_10"
55+
android:drawableTop="@drawable/seleltor_voice_drawable"
56+
android:background="@null"/>
57+
58+
</LinearLayout>
5059

5160
</RelativeLayout>

Video/AR-Android-VideoLive-Base/app/src/main/java/org/ar/ar_android_videolive_base/MainActivity.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@ import android.content.Intent
44
import androidx.appcompat.app.AppCompatActivity
55
import android.os.Bundle
66
import android.text.Editable
7-
import android.text.TextUtils
87
import android.text.TextWatcher
98
import android.view.LayoutInflater
109
import android.view.View
11-
import android.widget.Toast
1210
import com.yanzhenjie.permission.AndPermission
1311
import com.yanzhenjie.permission.runtime.Permission
1412
import org.ar.ar_android_videolive_base.databinding.ActivityMainBinding

Video/AR-Android-VideoLive-Base/app/src/main/java/org/ar/ar_android_videolive_base/VideoLiveActivity.kt

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -145,21 +145,13 @@ class VideoLiveActivity : AppCompatActivity(),View.OnClickListener {
145145
override fun onClick(p0: View?) {
146146
when(p0?.id){
147147
R.id.mic ->{
148-
if (isMic){
149-
viewBinding?.mic?.setImageResource(R.drawable.img_audio_open)
150-
}else{
151-
viewBinding?.mic?.setImageResource(R.drawable.img_audio_close)
152-
}
153148
isMic =!isMic
149+
viewBinding?.mic?.isSelected =isMic
154150
mRtcEngine?.muteLocalAudioStream(isMic)
155151
}
156152
R.id.camera->{
157-
if (isCamera){
158-
viewBinding?.camera?.setImageResource(R.drawable.img_switch)
159-
}else{
160-
viewBinding?.camera?.setImageResource(R.drawable.img_switch_click)
161-
}
162153
isCamera =!isCamera
154+
viewBinding?.camera?.isSelected=isCamera
163155
mRtcEngine?.switchCamera()
164156
}
165157
R.id.leave->{
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<selector xmlns:android="http://schemas.android.com/apk/res/android">
3+
<item android:state_selected="true" android:drawable="@drawable/img_audio_close"/>
4+
<item android:state_selected="false" android:drawable="@drawable/img_audio_open"/>
5+
</selector>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<selector xmlns:android="http://schemas.android.com/apk/res/android">
3+
<item android:state_selected="true" android:drawable="@drawable/img_switch_click"/>
4+
<item android:state_selected="false" android:drawable="@drawable/img_switch"/>
5+
</selector>

Video/AR-Android-VideoLive-Base/app/src/main/res/layout/activity_video.xml

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,39 +12,48 @@
1212
android:layout_height="match_parent"
1313
android:layout_marginBottom="@dimen/dp_120"/>
1414

15-
<RelativeLayout
15+
<LinearLayout
1616
android:layout_width="match_parent"
1717
android:layout_height="wrap_content"
1818
android:layout_marginBottom="@dimen/dp_20"
1919
android:layout_alignParentBottom="true">
2020

21-
<ImageView
21+
<Button
2222
android:id="@+id/mic"
23-
android:layout_width="@dimen/dp_62"
24-
android:layout_height="@dimen/dp_62"
25-
android:layout_marginStart="@dimen/dp_38"
26-
android:padding="@dimen/dp_5"
27-
android:layout_alignParentStart="true"
28-
android:src="@drawable/img_audio_open"/>
23+
android:layout_width="0dp"
24+
android:layout_height="wrap_content"
25+
android:layout_weight="1"
26+
android:drawableTop="@drawable/selector_audio_drawable"
27+
android:text="静音"
28+
android:textColor="@color/white"
29+
android:drawablePadding="@dimen/dp_10"
30+
android:background="@null"/>
2931

30-
<ImageView
32+
<Button
3133
android:id="@+id/leave"
32-
android:layout_width="@dimen/dp_72"
33-
android:layout_height="@dimen/dp_72"
34+
android:layout_width="@dimen/dp_0_1"
35+
android:layout_height="wrap_content"
36+
android:layout_weight="1"
3437
android:layout_marginLeft="@dimen/dp_10"
3538
android:layout_marginRight="@dimen/dp_10"
36-
android:padding="@dimen/dp_5"
37-
android:layout_centerInParent="true"
38-
android:src="@drawable/img_leave"/>
39+
android:drawableTop="@drawable/img_leave"
40+
android:text="挂断"
41+
android:textColor="@color/white"
42+
android:drawablePadding="@dimen/dp_10"
43+
android:background="@null"/>
3944

40-
<ImageView
45+
<Button
4146
android:id="@+id/camera"
42-
android:layout_width="@dimen/dp_62"
43-
android:layout_height="@dimen/dp_62"
44-
android:layout_marginEnd="@dimen/dp_38"
47+
android:layout_width="0dp"
48+
android:layout_height="wrap_content"
49+
android:layout_weight="1"
4550
android:padding="@dimen/dp_5"
46-
android:layout_alignParentEnd="true"
47-
android:src="@drawable/img_switch"/>
48-
</RelativeLayout>
51+
android:text="转换摄像头"
52+
android:textColor="@color/white"
53+
android:drawablePadding="@dimen/dp_10"
54+
android:drawableTop="@drawable/seleltor_camera_drawable"
55+
android:background="@null"/>
56+
57+
</LinearLayout>
4958

5059
</RelativeLayout>

0 commit comments

Comments
 (0)