diff --git a/src/app/build.gradle b/src/app/build.gradle
index 2bd5b47..3193558 100644
--- a/src/app/build.gradle
+++ b/src/app/build.gradle
@@ -52,6 +52,7 @@ android {
}
dependencies {
+ implementation 'io.github.litao0621:nifty-slider:1.4.6'
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.8.0'
diff --git a/src/app/src/main/AndroidManifest.xml b/src/app/src/main/AndroidManifest.xml
index 734cc86..5bd5f89 100644
--- a/src/app/src/main/AndroidManifest.xml
+++ b/src/app/src/main/AndroidManifest.xml
@@ -7,12 +7,9 @@
-
-
-
diff --git a/src/app/src/main/java/wificar/MyVideo.java b/src/app/src/main/java/wificar/MyVideo.java
index d986129..da47d75 100644
--- a/src/app/src/main/java/wificar/MyVideo.java
+++ b/src/app/src/main/java/wificar/MyVideo.java
@@ -23,7 +23,9 @@ import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageButton;
+import android.widget.LinearLayout;
import android.widget.RelativeLayout;
+import android.widget.SeekBar;
import android.widget.Toast;
import java.io.File;
@@ -48,6 +50,7 @@ public class MyVideo extends Activity {
InputStream socketReader;
SocketListener socketListener2001;
SoundSocketListener socketListener2002;
+ SeekBar xSeekbar,ySeekbar;
private Socket socket;
private Socket soundSocket;
private RockerView rockerView;
@@ -56,6 +59,54 @@ public class MyVideo extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
+ LinearLayout linearLayout = findViewById(R.id.linearLayout4);
+ xSeekbar = linearLayout.findViewById(R.id.xSeekbar);
+ ySeekbar = linearLayout.findViewById(R.id.ySeekbar);
+
+ xSeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
+ @Override
+ public void onProgressChanged(SeekBar seekBar, int progress, boolean b) {
+ try {
+ socketWriter.write(new byte[]{(byte) 0xff, (byte) 0x01, (byte) 0x07, (byte)((int)(progress * 1.8)), (byte) 0xff});
+ socketWriter.flush();
+
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ @Override
+ public void onStartTrackingTouch(SeekBar seekBar) {
+
+ }
+
+ @Override
+ public void onStopTrackingTouch(SeekBar seekBar) {
+
+ }
+ });
+ ySeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
+ @Override
+ public void onProgressChanged(SeekBar seekBar, int progress, boolean b) {
+ try {
+ socketWriter.write(new byte[]{(byte) 0xff, (byte) 0x01, (byte) 0x08, (byte)((int)(progress * 1.8)), (byte) 0xff});
+ socketWriter.flush();
+
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ @Override
+ public void onStartTrackingTouch(SeekBar seekBar) {
+
+ }
+
+ @Override
+ public void onStopTrackingTouch(SeekBar seekBar) {
+
+ }
+ });
+
this.requestWindowFeature(Window.FEATURE_NO_TITLE);//ȥ⣨ӦõֱҪдsetContentView֮ǰ쳣
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.myvideo);
@@ -77,27 +128,28 @@ public class MyVideo extends Activity {
}
public void InitSocket(Activity activity) {
- try {
- socket = new Socket(InetAddress.getByName(CtrlIp), Integer.parseInt(CtrlPort));
- soundSocket = new Socket(InetAddress.getByName(CtrlIp), 2002);
- } catch (UnknownHostException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- try {
- socketWriter = socket.getOutputStream();
- socketReader = socket.getInputStream();
- socketListener2001 = new SocketListener(activity,socketReader);
- socketListener2002 = new SoundSocketListener(activity,soundSocket.getInputStream());
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ // TODO
+// try {
+// socket = new Socket(InetAddress.getByName(CtrlIp), Integer.parseInt(CtrlPort));
+// soundSocket = new Socket(InetAddress.getByName(CtrlIp), 2002);
+// } catch (UnknownHostException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// } catch (Exception e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
+// try {
+// socketWriter = socket.getOutputStream();
+// socketReader = socket.getInputStream();
+// socketListener2001 = new SocketListener(activity,socketReader);
+// socketListener2002 = new SoundSocketListener(activity,soundSocket.getInputStream());
+// } catch (Exception e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
rockerView = new RockerView(this,socketWriter,this.getApplicationContext(),null);
- RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(500,500);
+ RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(1000,1000);
addContentView(rockerView,params);
//Toast.makeText(this,"ʼʧܣ"+e.getMessage(),Toast.LENGTH_LONG).show();
}
diff --git a/src/app/src/main/java/wificar/RockerView.java b/src/app/src/main/java/wificar/RockerView.java
index b850327..f36a4ef 100644
--- a/src/app/src/main/java/wificar/RockerView.java
+++ b/src/app/src/main/java/wificar/RockerView.java
@@ -23,8 +23,8 @@ public class RockerView extends View{
Paint backPaint = new Paint(); //
Paint bubblePaint = new Paint(); // ݻ
Paint rectfPaint = new Paint();
- float bubbleX = 0, bubbleY = 0; // ݵλ
- float backX = 0, backY = 0; // Բλ
+ float bubbleX = 300, bubbleY = 700; // ݵλ
+ float backX = 300, backY = 700; // Բλ
int radiusBack = 200, radiusBubble = 100; // 屳ԲԼݵİ뾶
RectF mRectF = new RectF(backX-radiusBack,backY-radiusBack,backX+radiusBack,backY+radiusBack);
Context mContext;
diff --git a/src/app/src/main/res/drawable/progress_drawable.xml b/src/app/src/main/res/drawable/progress_drawable.xml
new file mode 100644
index 0000000..7926606
--- /dev/null
+++ b/src/app/src/main/res/drawable/progress_drawable.xml
@@ -0,0 +1,15 @@
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/src/main/res/drawable/red_circle.xml b/src/app/src/main/res/drawable/red_circle.xml
new file mode 100644
index 0000000..3ccb4ee
--- /dev/null
+++ b/src/app/src/main/res/drawable/red_circle.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/src/main/res/layout/myvideo.xml b/src/app/src/main/res/layout/myvideo.xml
index 55fd409..3c98e47 100644
--- a/src/app/src/main/res/layout/myvideo.xml
+++ b/src/app/src/main/res/layout/myvideo.xml
@@ -1,6 +1,7 @@
-
@@ -16,30 +17,74 @@
android:id="@+id/menuIcon"
android:layout_width="60dp"
android:layout_height="60dp"
- android:layout_marginEnd="5dp"
- android:layout_marginTop="5dp"
- android:layout_alignParentEnd="true"
android:text="菜单"
- />
-
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="@+id/mySurfaceViewVideo" />
+ app:layout_constraintEnd_toEndOf="@+id/mySurfaceViewVideo"
+ app:layout_constraintTop_toBottomOf="@+id/menuIcon">
+
+
+ android:layout_height="match_parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"/>
+
+
+
+
+
+
+
+
+
+
+
+ android:layout_height="match_parent"
+ app:layout_constraintTop_toTopOf="parent" />
+ android:gravity="right"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent">
+ app:layout_constraintBottom_toTopOf="@+id/linearLayout2"
+ app:layout_constraintEnd_toEndOf="@+id/mySurfaceViewVideo">
+ android:gravity="right"
+ app:layout_constraintBottom_toTopOf="@+id/linearLayout3"
+ app:layout_constraintEnd_toEndOf="@+id/mySurfaceViewVideo">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file