Skip to content

Commit 57ca831

Browse files
committed
v1.3.0
1 parent d565229 commit 57ca831

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1840
-214
lines changed

StarRTC_demo.apk

-4.27 KB
Binary file not shown.
4 KB
Binary file not shown.

demo/app/libs/star_rtc_sdk.jar

-102 KB
Binary file not shown.

demo/app/src/main/AndroidManifest.xml

+11
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,17 @@
128128
android:name=".demo.videomeeting.VideoMeetingCreateActivity"
129129
android:screenOrientation="portrait" />
130130

131+
<!-- 超级聊天室 -->
132+
<activity
133+
android:name=".demo.superroom.SuperRoomActivity"
134+
android:screenOrientation="portrait" />
135+
<activity
136+
android:name=".demo.superroom.SuperRoomCreateActivity"
137+
android:screenOrientation="portrait" />
138+
<activity
139+
android:name=".demo.superroom.SuperRoomListActivity"
140+
android:screenOrientation="portrait" />
141+
131142
<!-- 测试 -->
132143
<activity
133144
android:name=".demo.test.LoopTestActivity"

demo/app/src/main/java/com/starrtc/demo/demo/MLOC.java

+11-2
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,21 @@ public class MLOC {
6262
public static final int CHATROOM_LIST_TYPE_MEETING_PUSH = 4;
6363
public static final int CHATROOM_LIST_TYPE_CLASS = 5;
6464
public static final int CHATROOM_LIST_TYPE_CLASS_PUSH = 6;
65+
public static final int CHATROOM_LIST_TYPE_AUDIO_LIVE = 7;
66+
public static final int CHATROOM_LIST_TYPE_AUDIO_LIVE_PUSH = 8;
67+
public static final int CHATROOM_LIST_TYPE_SUPER_ROOM = 9;
68+
public static final int CHATROOM_LIST_TYPE_SUPER_ROOM_PUSH = 10;
6569

6670
public static final String CHATROOM_LIST_TYPE_LIVE_ALL = CHATROOM_LIST_TYPE_LIVE+","+CHATROOM_LIST_TYPE_LIVE_PUSH;
6771
public static final String CHATROOM_LIST_TYPE_MEETING_ALL = CHATROOM_LIST_TYPE_MEETING+","+CHATROOM_LIST_TYPE_MEETING_PUSH;
6872
public static final String CHATROOM_LIST_TYPE_CLASS_ALL = CHATROOM_LIST_TYPE_CLASS+","+CHATROOM_LIST_TYPE_CLASS_PUSH;
69-
public static final String CHATROOM_LIST_TYPE_PUSH_ALL = CHATROOM_LIST_TYPE_LIVE_PUSH+","+CHATROOM_LIST_TYPE_MEETING_PUSH+","+CHATROOM_LIST_TYPE_CLASS_PUSH;
70-
73+
public static final String CHATROOM_LIST_TYPE_AUDIO_LIVE_ALL = CHATROOM_LIST_TYPE_AUDIO_LIVE+","+CHATROOM_LIST_TYPE_AUDIO_LIVE_PUSH;
74+
public static final String CHATROOM_LIST_TYPE_SUPER_ROOM_ALL = CHATROOM_LIST_TYPE_SUPER_ROOM+","+CHATROOM_LIST_TYPE_SUPER_ROOM_PUSH;
75+
public static final String CHATROOM_LIST_TYPE_PUSH_ALL = CHATROOM_LIST_TYPE_LIVE_PUSH
76+
+","+CHATROOM_LIST_TYPE_MEETING_PUSH
77+
+","+CHATROOM_LIST_TYPE_CLASS_PUSH
78+
+","+CHATROOM_LIST_TYPE_AUDIO_LIVE_PUSH
79+
+","+CHATROOM_LIST_TYPE_SUPER_ROOM_PUSH;
7180
public static Boolean hasLogout = false;
7281

7382
public static boolean hasNewC2CMsg = false;

demo/app/src/main/java/com/starrtc/demo/demo/SplashActivity.java

-17
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,9 @@
88
import android.annotation.SuppressLint;
99
import android.app.Activity;
1010
import android.app.AlertDialog;
11-
import android.content.Context;
1211
import android.content.DialogInterface;
1312
import android.content.Intent;
1413
import android.content.pm.PackageManager;
15-
import android.net.ConnectivityManager;
16-
import android.net.NetworkInfo;
1714
import android.os.Build;
1815
import android.os.Bundle;
1916
import android.os.Handler;
@@ -23,25 +20,11 @@
2320
import android.view.animation.Animation;
2421

2522
import com.starrtc.demo.R;
26-
import com.starrtc.demo.demo.beauty.DemoBeautyCallback;
2723
import com.starrtc.demo.demo.service.KeepLiveService;
28-
import com.starrtc.demo.listener.XHVoipP2PManagerListener;
29-
import com.starrtc.demo.serverAPI.InterfaceUrls;
3024
import com.starrtc.demo.utils.AEvent;
31-
import com.starrtc.demo.utils.IEventListener;
32-
import com.starrtc.demo.listener.XHChatManagerListener;
33-
import com.starrtc.starrtcsdk.api.XHClient;
34-
import com.starrtc.demo.listener.XHGroupManagerListener;
35-
import com.starrtc.demo.listener.XHLoginManagerListener;
36-
import com.starrtc.starrtcsdk.api.XHCustomConfig;
37-
import com.starrtc.demo.listener.XHVoipManagerListener;
38-
import com.starrtc.starrtcsdk.apiInterface.IXHErrorCallback;
39-
import com.starrtc.starrtcsdk.apiInterface.IXHResultCallback;
40-
import com.starrtc.starrtcsdk.core.beauty.XHBeautyManager;
4125

4226
import java.util.ArrayList;
4327
import java.util.List;
44-
import java.util.Random;
4528

4629
public class SplashActivity extends Activity {
4730
private boolean isLogin = false;

demo/app/src/main/java/com/starrtc/demo/demo/StarAvDemoActivity.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.starrtc.demo.demo.im.IMDemoActivity;
1313
import com.starrtc.demo.demo.miniclass.MiniClassListActivity;
1414
import com.starrtc.demo.demo.setting.SettingActivity;
15+
import com.starrtc.demo.demo.superroom.SuperRoomListActivity;
1516
import com.starrtc.demo.demo.videolive.VideoLiveListActivity;
1617
import com.starrtc.demo.demo.videomeeting.VideoMeetingListActivity;
1718
import com.starrtc.demo.demo.voip.VoipListActivity;
@@ -95,7 +96,7 @@ public void onClick(View v) {
9596
startActivity(intent8);
9697
break;
9798
case R.id.btn_main_audio:
98-
Intent intent9= new Intent(this, AudioLiveListActivity.class);
99+
Intent intent9= new Intent(this, SuperRoomListActivity.class);
99100
startActivity(intent9);
100101
break;
101102
}

demo/app/src/main/java/com/starrtc/demo/demo/audiolive/AudioLiveActivity.java

+21-2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
import org.json.JSONException;
3636
import org.json.JSONObject;
3737

38+
import java.io.UnsupportedEncodingException;
39+
import java.net.URLEncoder;
3840
import java.util.ArrayList;
3941
import java.util.List;
4042
import java.util.Set;
@@ -88,7 +90,7 @@ protected void onCreate(Bundle savedInstanceState) {
8890
starRTCAudioManager = StarRTCAudioManager.create(this);
8991
starRTCAudioManager.start(new StarRTCAudioManager.AudioManagerEvents() {
9092
@Override
91-
public void onAudioDeviceChanged(StarRTCAudioManager.AudioDevice selectedAudioDevice, Set<StarRTCAudioManager.AudioDevice> availableAudioDevices) {
93+
public void onAudioDeviceChanged(StarRTCAudioManager.AudioDevice selectedAudioDevice, Set availableAudioDevices) {
9294

9395
}
9496
});
@@ -303,8 +305,25 @@ private void createNewLive(){
303305
@Override
304306
public void success(Object data) {
305307
liveId = (String) data;
306-
InterfaceUrls.demoReportAudioLive(liveId,liveName,createrId);
308+
if(MLOC.SERVER_TYPE.equals(MLOC.SERVER_TYPE_PUBLIC)){
309+
InterfaceUrls.demoReportAudioLive(liveId,liveName,createrId);
310+
}else{
311+
try {
312+
JSONObject info = new JSONObject();
313+
info.put("id",liveId);
314+
info.put("creator",MLOC.userId);
315+
info.put("name",liveName);
316+
String infostr = info.toString();
317+
infostr = URLEncoder.encode(infostr,"utf-8");
318+
liveManager.saveToList(MLOC.userId,MLOC.CHATROOM_LIST_TYPE_AUDIO_LIVE,liveId,infostr,null);
319+
} catch (JSONException e) {
320+
e.printStackTrace();
321+
} catch (UnsupportedEncodingException e) {
322+
e.printStackTrace();
323+
}
324+
}
307325
starLive();
326+
308327
}
309328
@Override
310329
public void failed(final String errMsg) {

demo/app/src/main/java/com/starrtc/demo/demo/audiolive/AudioLiveCreateActivity.java

+2-10
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,12 @@ public void onClick(View v) {
2626
finish();
2727
}
2828
});
29-
findViewById(R.id.switch_type).setOnClickListener(new View.OnClickListener() {
30-
@Override
31-
public void onClick(View v) {
32-
findViewById(R.id.switch_type).setSelected(!findViewById(R.id.switch_type).isSelected());
33-
}
34-
});
3529
findViewById(R.id.yes_btn).setOnClickListener(new View.OnClickListener() {
3630
@Override
3731
public void onClick(View v) {
3832
String inputId = ((EditText)findViewById(R.id.targetid_input)).getText().toString();
39-
XHConstants.XHLiveType type =
40-
findViewById(R.id.switch_type).isSelected()?
41-
XHConstants.XHLiveType.XHLiveTypeGlobalPublic:
42-
XHConstants.XHLiveType.XHLiveTypeLoginPublic;
33+
XHConstants.XHLiveType type = XHConstants.XHLiveType.XHLiveTypeGlobalPublic;
34+
4335
if(TextUtils.isEmpty(inputId)){
4436
MLOC.showMsg(AudioLiveCreateActivity.this,"id不能为空");
4537
}else{

demo/app/src/main/java/com/starrtc/demo/demo/audiolive/AudioLiveInfo.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
*/
66

77
public class AudioLiveInfo {
8-
public String createrId;
9-
public String liveName;
10-
public String liveId;
8+
public String creator;
9+
public String name;
10+
public String id;
1111
public String isLiveOn;
1212
}

demo/app/src/main/java/com/starrtc/demo/demo/audiolive/AudioLiveListActivity.java

+71-20
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,19 @@
1717

1818
import com.starrtc.demo.R;
1919
import com.starrtc.demo.demo.BaseActivity;
20+
import com.starrtc.demo.demo.MLOC;
2021
import com.starrtc.demo.serverAPI.InterfaceUrls;
2122
import com.starrtc.demo.ui.CircularCoverView;
2223
import com.starrtc.demo.utils.AEvent;
2324
import com.starrtc.demo.utils.ColorUtils;
2425
import com.starrtc.demo.utils.DensityUtils;
2526
import com.starrtc.demo.utils.StarListUtil;
27+
import com.starrtc.starrtcsdk.api.XHClient;
28+
import com.starrtc.starrtcsdk.apiInterface.IXHResultCallback;
29+
30+
import org.json.JSONArray;
31+
import org.json.JSONException;
32+
import org.json.JSONObject;
2633

2734
import java.util.ArrayList;
2835

@@ -82,18 +89,6 @@ public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleI
8289
});
8390
}
8491

85-
@Override
86-
public void onResume(){
87-
super.onResume();
88-
AEvent.addListener(AEvent.AEVENT_AUDIO_LIVE_GOT_LIST,this);
89-
InterfaceUrls.demoRequestAudioLiveList();
90-
}
91-
@Override
92-
public void onPause(){
93-
AEvent.removeListener(AEvent.AEVENT_AUDIO_LIVE_GOT_LIST,this);
94-
super.onPause();
95-
}
96-
9792
@Override
9893
public void dispatchEvent(String aEventID, final boolean success, final Object eventObj) {
9994
super.dispatchEvent(aEventID,success,eventObj);
@@ -124,18 +119,69 @@ public void onItemClick(AdapterView<?> parent, View view, int position, long id)
124119
AudioLiveInfo clickLiveInfo = mDatas.get(position);
125120

126121
Intent intent = new Intent(AudioLiveListActivity.this, AudioLiveActivity.class);
127-
intent.putExtra(AudioLiveActivity.LIVE_NAME,clickLiveInfo.liveName);
128-
intent.putExtra(AudioLiveActivity.CREATER_ID,clickLiveInfo.createrId);
129-
intent.putExtra(AudioLiveActivity.LIVE_ID,clickLiveInfo.liveId);
122+
intent.putExtra(AudioLiveActivity.LIVE_NAME,clickLiveInfo.name);
123+
intent.putExtra(AudioLiveActivity.CREATER_ID,clickLiveInfo.creator);
124+
intent.putExtra(AudioLiveActivity.LIVE_ID,clickLiveInfo.id);
130125
startActivity(intent);
131126

132127
}
133128

129+
@Override
130+
public void onResume(){
131+
super.onResume();
132+
if(MLOC.SERVER_TYPE.equals(MLOC.SERVER_TYPE_PUBLIC)){
133+
AEvent.addListener(AEvent.AEVENT_AUDIO_LIVE_GOT_LIST,this);
134+
}
135+
onRefresh();
136+
}
137+
138+
@Override
139+
public void onPause(){
140+
super.onPause();
141+
if(MLOC.SERVER_TYPE.equals(MLOC.SERVER_TYPE_PUBLIC)) {
142+
AEvent.removeListener(AEvent.AEVENT_AUDIO_LIVE_GOT_LIST, this);
143+
}
144+
super.onStop();
145+
}
134146
@Override
135147
public void onRefresh() {
136-
InterfaceUrls.demoRequestAudioLiveList();
148+
if(MLOC.SERVER_TYPE.equals(MLOC.SERVER_TYPE_PUBLIC)){
149+
InterfaceUrls.demoRequestAudioLiveList();
150+
}else{
151+
queryAllList();
152+
}
137153
}
154+
private void queryAllList(){
155+
XHClient.getInstance().getLiveManager().queryList("",MLOC.CHATROOM_LIST_TYPE_AUDIO_LIVE_ALL,new IXHResultCallback() {
156+
@Override
157+
public void success(final Object data) {
158+
refreshLayout.setRefreshing(false);
159+
mDatas.clear();
160+
try {
161+
JSONArray array = (JSONArray) data;
162+
for(int i = array.length()-1;i>=0;i--){
163+
AudioLiveInfo info = new AudioLiveInfo();
164+
JSONObject obj = array.getJSONObject(i);
165+
info.creator = obj.getString("creator");
166+
info.id = obj.getString("id");
167+
info.name = obj.getString("name");
168+
mDatas.add(info);
169+
}
170+
myListAdapter.notifyDataSetChanged();
171+
} catch (JSONException e) {
172+
e.printStackTrace();
173+
}
174+
}
138175

176+
@Override
177+
public void failed(String errMsg) {
178+
MLOC.d("VideoMettingListActivity",errMsg);
179+
refreshLayout.setRefreshing(false);
180+
mDatas.clear();
181+
myListAdapter.notifyDataSetChanged();
182+
}
183+
});
184+
}
139185

140186
class MyListAdapter extends BaseAdapter{
141187
@Override
@@ -169,11 +215,16 @@ public View getView(int position, View convertView, ViewGroup parent) {
169215
}else{
170216
viewIconImg = (ViewHolder)convertView.getTag();
171217
}
172-
viewIconImg.vRoomName.setText(mDatas.get(position).liveName);
173-
viewIconImg.vCreaterId.setText(mDatas.get(position).createrId);
174-
viewIconImg.vHeadBg.setBackgroundColor(ColorUtils.getColor(AudioLiveListActivity.this,mDatas.get(position).liveName));
218+
viewIconImg.vRoomName.setText(mDatas.get(position).name);
219+
viewIconImg.vCreaterId.setText(mDatas.get(position).creator);
220+
viewIconImg.vHeadBg.setBackgroundColor(ColorUtils.getColor(AudioLiveListActivity.this,mDatas.get(position).name));
175221
viewIconImg.vHeadCover.setCoverColor(Color.parseColor("#FFFFFF"));
176-
viewIconImg.vLiveState.setVisibility(mDatas.get(position).isLiveOn.equals("1")?View.VISIBLE:View.INVISIBLE);
222+
if(mDatas.get(position).isLiveOn!=null){
223+
viewIconImg.vLiveState.setVisibility(mDatas.get(position).isLiveOn.equals("1")?View.VISIBLE:View.INVISIBLE);
224+
}else{
225+
viewIconImg.vLiveState.setVisibility(View.INVISIBLE);
226+
}
227+
177228
int cint = DensityUtils.dip2px(AudioLiveListActivity.this,28);
178229
viewIconImg.vHeadCover.setRadians(cint, cint, cint, cint,0);
179230
viewIconImg.vHeadImage.setImageResource(R.drawable.icon_main_mic);

demo/app/src/main/java/com/starrtc/demo/demo/beauty/DemoBeautyCallback.java

-13
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.starrtc.demo.demo.beauty;
2+
3+
import com.starrtc.demo.demo.MLOC;
4+
import com.starrtc.starrtcsdk.core.videosrc.StarAudioData;
5+
import com.starrtc.starrtcsdk.core.videosrc.XHVideoSourceCallback;
6+
import com.starrtc.starrtcsdk.core.videosrc.StarVideoData;
7+
8+
public class DemoVideoSourceCallback extends XHVideoSourceCallback {
9+
@Override
10+
public StarVideoData onVideoFrame(StarVideoData videoData){
11+
MLOC.d("DemoVideoSourceCallback","视频源数据已经接到了,不做处理,直接再丢回去"+videoData.getDataLength());
12+
//可直接对videoData里的数据进行处理,处理后将videoData对象返回即可。
13+
return videoData;
14+
}
15+
@Override
16+
public StarAudioData onAudioFrame(StarAudioData audioData){
17+
MLOC.d("DemoVideoSourceCallback","音频源数据已经接到了,不做处理,直接再丢回去"+audioData.getDataLength());
18+
//可直接对audioData里的数据进行处理,处理后将audioData对象返回即可。
19+
return audioData;
20+
}
21+
}

demo/app/src/main/java/com/starrtc/demo/demo/im/chatroom/ChatroomCreateActivity.java

+1-10
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,11 @@ public void onClick(View v) {
2626
finish();
2727
}
2828
});
29-
findViewById(R.id.switch_type).setOnClickListener(new View.OnClickListener() {
30-
@Override
31-
public void onClick(View v) {
32-
findViewById(R.id.switch_type).setSelected(!findViewById(R.id.switch_type).isSelected());
33-
}
34-
});
3529
findViewById(R.id.yes_btn).setOnClickListener(new View.OnClickListener() {
3630
@Override
3731
public void onClick(View v) {
3832
String inputId = ((EditText)findViewById(R.id.targetid_input)).getText().toString();
39-
XHConstants.XHChatroomType type =
40-
findViewById(R.id.switch_type).isSelected()?
41-
XHConstants.XHChatroomType.XHChatroomTypePublic:
42-
XHConstants.XHChatroomType.XHChatroomTypeLogin;
33+
XHConstants.XHChatroomType type = XHConstants.XHChatroomType.XHChatroomTypePublic;
4334
if(TextUtils.isEmpty(inputId)){
4435
MLOC.showMsg(ChatroomCreateActivity.this,"id不能为空");
4536
}else{

demo/app/src/main/java/com/starrtc/demo/demo/miniclass/MiniClassActivity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ protected void onCreate(Bundle savedInstanceState) {
9494
starRTCAudioManager = StarRTCAudioManager.create(this);
9595
starRTCAudioManager.start(new StarRTCAudioManager.AudioManagerEvents() {
9696
@Override
97-
public void onAudioDeviceChanged(StarRTCAudioManager.AudioDevice selectedAudioDevice, Set<StarRTCAudioManager.AudioDevice> availableAudioDevices) {
97+
public void onAudioDeviceChanged(StarRTCAudioManager.AudioDevice selectedAudioDevice, Set availableAudioDevices) {
9898

9999
}
100100
});

demo/app/src/main/java/com/starrtc/demo/demo/miniclass/MiniClassCreateActivity.java

-10
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,10 @@ public void onClick(View v) {
2525
finish();
2626
}
2727
});
28-
findViewById(R.id.switch_type).setOnClickListener(new View.OnClickListener() {
29-
@Override
30-
public void onClick(View v) {
31-
findViewById(R.id.switch_type).setSelected(!findViewById(R.id.switch_type).isSelected());
32-
}
33-
});
3428
findViewById(R.id.yes_btn).setOnClickListener(new View.OnClickListener() {
3529
@Override
3630
public void onClick(View v) {
3731
String inputId = ((EditText)findViewById(R.id.targetid_input)).getText().toString();
38-
// XHConstants.XHMeetingType type =
39-
// findViewById(R.id.switch_type).isSelected()?
40-
// XHConstants.XHMeetingType.XHMeetingTypeGlobalPublic:
41-
// XHConstants.XHMeetingType.XHMeetingTypeLoginPublic;
4232
XHConstants.XHLiveType type = XHConstants.XHLiveType.XHLiveTypeGlobalPublic;
4333

4434
if(TextUtils.isEmpty(inputId)){

0 commit comments

Comments
 (0)