diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cb61520..39ebcdd 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -33,8 +33,11 @@
+ android:name=".LivePushActivity"
+ android:label="直播播放" />
+
diff --git a/app/src/main/java/com/mogo/cloud/BaseLiveActivity.java b/app/src/main/java/com/mogo/cloud/BaseLiveActivity.java
index 90fde31..5443965 100644
--- a/app/src/main/java/com/mogo/cloud/BaseLiveActivity.java
+++ b/app/src/main/java/com/mogo/cloud/BaseLiveActivity.java
@@ -38,7 +38,7 @@ public abstract class BaseLiveActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_push_video);
+ setContentView(R.layout.activity_live_push);
surfaceView = findViewById(R.id.surfaceView);
btnLive = findViewById(R.id.btnLive);
diff --git a/app/src/main/java/com/mogo/cloud/LivePlayActivity.java b/app/src/main/java/com/mogo/cloud/LivePlayActivity.java
new file mode 100644
index 0000000..7f08869
--- /dev/null
+++ b/app/src/main/java/com/mogo/cloud/LivePlayActivity.java
@@ -0,0 +1,101 @@
+package com.mogo.cloud;
+
+import android.os.Bundle;
+import android.util.Log;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+import android.widget.EditText;
+import android.widget.Toast;
+import android.widget.ToggleButton;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.mogo.cloud.live.listener.ILiveProgressListener;
+import com.mogo.cloud.live.manager.ZeGoLiveManager;
+import com.mogo.cloud.util.Devices;
+
+
+public class LivePlayActivity extends AppCompatActivity {
+ private String TAG = "LiveActivity";
+
+ private SurfaceView surfaceView;
+ private ToggleButton liveToggleBtn;
+ private EditText etLookRoomId;
+
+ private boolean isLoginSuccess = false;
+ private String mStreamId = "STREAM_ID_";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_live_play);
+ surfaceView = findViewById(R.id.surfaceView);
+ etLookRoomId = findViewById(R.id.etLookRoomId);
+ liveToggleBtn = findViewById(R.id.liveToggleBtn);
+ liveToggleBtn.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ Toast.makeText(getApplicationContext(), buttonView.getText(), Toast.LENGTH_SHORT).show();
+ if (isChecked) {
+ String roomId = etLookRoomId.getText().toString().trim();
+ mStreamId = ZeGoLiveManager.STREAM_ID_PREFIX + roomId;
+ ZeGoLiveManager.getInstance().init(this.getApplication(), null);
+ ZeGoLiveManager.getInstance().loginRoom("F803EB2046PZD00140", roomId);
+ ZeGoLiveManager.getInstance().setLiveProgressListener(listener);
+ } else {
+ ZeGoLiveManager.getInstance().stopLive(mStreamId);
+ }
+ });
+ }
+
+ private ILiveProgressListener listener = new ILiveProgressListener() {
+
+ @Override
+ public void onConnecting() {
+
+ }
+
+ @Override
+ public void onConnected(String roomId) {
+ Log.i(TAG, "onConnected:" + roomId);
+ isLoginSuccess = true;
+ toggleLive(true);
+ }
+
+ @Override
+ public void onDisConnect() {
+ Log.i(TAG, "onDisConnect:");
+ isLoginSuccess = false;
+ toggleLive(false);
+ }
+
+ @Override
+ public void onDebugError(int errorCode, String funcName, String errorInfo) {
+
+ }
+
+ @Override
+ public void onRoomStreamUpdate(String streamId, boolean isLive) {
+ Log.i(TAG, "onRoomStreamUpdate:" + streamId);
+ if (streamId != null && isLive) {
+ Toast.makeText(LivePlayActivity.this, "主播开始直播了", Toast.LENGTH_SHORT).show();
+ mStreamId = streamId;
+ } else {
+ Toast.makeText(LivePlayActivity.this, "主播已离线", Toast.LENGTH_SHORT).show();
+ }
+ }
+ };
+
+ private void toggleLive(boolean isChecked) {
+ Log.i(TAG, "toggleLive status : " + isChecked + " , mStreamId : " + mStreamId);
+ if (isChecked) {
+ ZeGoLiveManager.getInstance().startLive(mStreamId, surfaceView);
+ } else {
+ ZeGoLiveManager.getInstance().stopLive(mStreamId);
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ ZeGoLiveManager.getInstance().onDestroyLive();
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/mogo/cloud/PushActivity.java b/app/src/main/java/com/mogo/cloud/LivePushActivity.java
similarity index 95%
rename from app/src/main/java/com/mogo/cloud/PushActivity.java
rename to app/src/main/java/com/mogo/cloud/LivePushActivity.java
index 5abd44d..964b2e2 100644
--- a/app/src/main/java/com/mogo/cloud/PushActivity.java
+++ b/app/src/main/java/com/mogo/cloud/LivePushActivity.java
@@ -11,7 +11,7 @@ import com.mogo.cloud.util.Devices;
/**
* 推流页面
*/
-public class PushActivity extends BaseLiveActivity {
+public class LivePushActivity extends BaseLiveActivity {
public static final String TAG = "PushActivity";
private boolean isLive = false;
diff --git a/app/src/main/java/com/mogo/cloud/MainActivity.java b/app/src/main/java/com/mogo/cloud/MainActivity.java
index 53dbb26..5d1f0d9 100644
--- a/app/src/main/java/com/mogo/cloud/MainActivity.java
+++ b/app/src/main/java/com/mogo/cloud/MainActivity.java
@@ -18,7 +18,8 @@ public class MainActivity extends AppCompatActivity {
private Button btnJumpNetWorkPort;
private Button btnJumpRealTime;
private Button btnJumpRoadCondition;
- private Button btnJumpPushLive;
+ private Button btnJumpLivePush;
+ private Button btnJumpLivePlay;
private TextView tvSn;
private TextView tvToken;
@@ -58,9 +59,15 @@ public class MainActivity extends AppCompatActivity {
startActivity(intent);
});
- btnJumpPushLive = findViewById(R.id.btnJumpPushLive);
- btnJumpPushLive.setOnClickListener(v -> {
- Intent intent = new Intent(MainActivity.this, PushActivity.class);
+ btnJumpLivePush = findViewById(R.id.btnJumpLivePush);
+ btnJumpLivePush.setOnClickListener(v -> {
+ Intent intent = new Intent(MainActivity.this, LivePushActivity.class);
+ startActivity(intent);
+ });
+
+ btnJumpLivePlay = findViewById(R.id.btnJumpLivePlay);
+ btnJumpLivePlay.setOnClickListener(v -> {
+ Intent intent = new Intent(MainActivity.this, LivePlayActivity.class);
startActivity(intent);
});
diff --git a/app/src/main/res/layout/activity_live_play.xml b/app/src/main/res/layout/activity_live_play.xml
new file mode 100644
index 0000000..b3f5411
--- /dev/null
+++ b/app/src/main/res/layout/activity_live_play.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_push_video.xml b/app/src/main/res/layout/activity_live_push.xml
similarity index 100%
rename from app/src/main/res/layout/activity_push_video.xml
rename to app/src/main/res/layout/activity_live_push.xml
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index b32e84a..b77ef12 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -67,10 +67,15 @@
android:text="路况服务测试" />
+
\ No newline at end of file