API Pencerminan Layar Ekstrim
Extreme Screen Mirroring menggunakan WebSocket sebagai API untuk menyediakan kemampuan antarmuka ( hanya dapat digunakan setelah masuk ke akun, tidak tersedia untuk pengguna gratis )
WebSocket API adalah antarmuka API protokol HTTP umum dan universal yang mendukung panggilan dalam berbagai bahasa, seperti: Button Wizard, Easy Language, C++, Python, Html, Vue, Node.js, dll. . .
  • Alamat API WebSocket screencasting ekstrem: ws://127.0.0.1:33332
  • Tes online WebSocket: https://wstool.js.org/
  • Demo HTML: https://drive.google.com/file/d/1p1WUy7iI2LNRvwm9nQefcowmE9XgMXPp/view?usp=sharing

Dapatkan semua informasi perangkat

bertanya:
{ "action":"list" }
tanggapan:
{ "StatusCode": 200, "result": [ { "deviceId": "ga7d65ylnj6xinhm", "name": "ga7d65ylnj6xinhm", "no": 1 }, { "deviceId": "VBJDU18B14001987", "name": "VBJDU18B14001987", "no": 24 } ] }

tangkapan layar

bertanya:
{ "action": "screen", "comm": { "deviceIds": "all", "savePath": "d:/quickmirror", "onlyDeviceName": 1 } }
  • deviceIds: "all" berarti semua perangkat, Anda juga dapat menentukan perangkat dengan meneruskan deviceId yang dipisahkan koma, seperti "ga7d65ylnj6xinhm,VBJDU18B14001987"
  • onlyDeviceName: Apakah akan langsung menggunakan nomor seri perangkat sebagai nama file tangkapan layar
    • 1 berarti nama file tangkapan layar hanya berisi nomor seri perangkat (misalnya, ga7d65ylnj6xinhm.png )
    • 0 berarti nama file tangkapan layar menyertakan nomor seri perangkat dan waktu tangkapan layar (misalnya, 1_ga7d65ylnj6xinhm_20240707_114500_096.png )
  • Catatan: Jika ini adalah koneksi nirkabel, : dan . di nomor seri perangkat akan diganti dengan _ (misalnya, nama file tangkapan layar perangkat 192.168.2.109:5555 adalah 1_192_168_2_109_5555_20240707_114919_656.png )
 
 
tanggapan:
{ "StatusCode": 200, "result": "OK" }

kontrol layar

bertanya:
{ "action": "PointerEvent", "comm": { "deviceIds": "all", "mask": "0", "x": "0.5", "y": "0.5", "endx": "0", "endy": "0", "delta": "0" } }
  • deviceIds: "all" berarti semua perangkat, Anda juga dapat menentukan perangkat dengan meneruskan deviceId yang dipisahkan koma, seperti "ga7d65ylnj6xinhm,VBJDU18B14001987"
  • topeng: Jenis peristiwa: 0 tekan, 1 gerak, 2 lepas, 3 tombol kanan mouse (kembali), 4 roda ke atas, 5 roda ke bawah, 6 geser ke atas, 7 geser ke bawah, 8 geser ke kiri, 9 geser ke kanan
  • x, y: koordinat acara, persentase kelulusan, rentang 0-1
  • endx, endy: koordinat akhir. Hanya event geser ke atas, bawah, kiri, dan kanan yang memerlukan dua parameter ini.
  • delta: amplitudo kejadian roda, rentangnya adalah bilangan bulat lebih besar dari 0. Semakin besar nilainya, semakin besar rentang gerak roda, parameter ini hanya diperlukan untuk kejadian roda, dan tidak perlu dilewati untuk kejadian lainnya acara.
tanggapan:
{ "StatusCode": 200, "result": "OK" }
Contoh:
Geser layar ke atas
//先执行按下mask=0 x=0.5 y=0.5 从中间位置开始{ "action": "PointerEvent", "comm": { "deviceIds": "all", "mask": "0", "x": "0.5", "y": "0.5", "endx": "0", "endy": "0", "delta": "0" } } //执行移动mask=1 y移动到0.2位置松开前可执行多个移动就会变成拖动{ "action": "PointerEvent", "comm": { "deviceIds": "all", "mask": "1", "x": "0.5", "y": "0.2", "endx": "0", "endy": "0", "delta": "0" } } //最后松开mask=2 xy 传最后移动到的位置{ "action": "PointerEvent", "comm": { "deviceIds": "all", "mask": "2", "x": "0.5", "y": "0.2", "endx": "0", "endy": "0", "delta": "0" } }

Dapatkan konten papan klip

bertanya:
{ "action": "getclipboard", "comm": { "deviceIds": "8318fc66" } }
  • deviceIds: Perintah ini tidak mendukung beberapa deviceIds ponsel
 
tanggapan:
{ "StatusCode": 200, "result": "剪切板测试" }

Kirim ke papan klip

bertanya:
{ "action": "writeclipboard", "comm": { "deviceIds": "all", "content": "Hi,QuickMirror" } }
  • deviceIds: "all" berarti semua perangkat, Anda juga dapat menentukan perangkat dengan meneruskan deviceId yang dipisahkan koma, seperti "ga7d65ylnj6xinhm,VBJDU18B14001987"
 
tanggapan:
{ "StatusCode": 200, "result": "OK" }

Jalankan perintah ADB

bertanya:
{ "action": "adb", "comm": { "command": "am start -a android.intent.action.VIEW -d https://blog.csdn.net/rankun1/article/details/87970523", "deviceIds": "ga7d65ylnj6xinhm" } }
  • deviceIds: "all" berarti semua perangkat, Anda juga dapat menentukan perangkat dengan meneruskan deviceId yang dipisahkan koma, seperti "ga7d65ylnj6xinhm,VBJDU18B14001987"
 
tanggapan:
{ "StatusCode": 200, "result": { "ga7d65ylnj6xinhm": [ "Starting: Intent { act=android.intent.action.VIEW dat=https://www.aa.app/... }" ] } }