สำหรับสาย Automation ที่ทำงานร่วมกับ Android ผ่าน ADB (Android Debug Bridge) และต้องการสร้างแกลเลอรี่อัตโนมัติด้วย Python วันนี้ผมขอแชร์ชุดฟังก์ชันที่ถูกออกแบบมาสำหรับงานควบคุม Android ทั้งในเรื่องการ **อัปโหลดไฟล์**, **สั่งให้แอปสแกนไฟล์ใหม่**, **แตะเลือกวีดีโอล่าสุดใน UI**, รวมถึงการจัดการกับ Dump XML จากหน้าจอมือถือโดยอัตโนมัติ จุดเด่นคือคุณสามารถสั่งงานได้จาก PC ด้วย Python script เพียงไม่กี่บรรทัด โดยไม่ต้องแตะมือถือเลย เหมาะสำหรับผู้ที่ทำงานสาย Content Creator, ตัดต่อวีดีโอ, หรือผู้พัฒนาแอปที่ต้องการทำงานกับ Device ได้อย่างแม่นยำและสะดวกรวดเร็ว
![]() |
💻 รวมฟังก์ชัน Python สำหรับควบคุม ADB สร้างแกลเลอรี่และอัปโหลดวีดีโอแบบอัตโนมัติ |
📌 1. ฟังก์ชัน Broadcast ให้ระบบรู้จักไฟล์ใหม่
**ชื่อฟังก์ชัน:** 'broadcast_media_scan(device_id, remote_path)'
**หน้าที่:** ส่งคำสั่งให้ Android ทำการ “สแกนไฟล์ใหม่” และเพิ่มเข้าไปในแกลเลอรี่
- ถ้า `Broadcast` สำเร็จจะมีข้อความ `result=0`
- หากไม่สำเร็จ จะลบไฟล์เดิม อัปโหลดใหม่ แล้ว Broadcast อีกครั้ง
- มีการหน่วงเวลาเพื่อให้ระบบ Android ตอบสนองตามขั้นตอน
- ใช้ 'adb push' ในการอัปโหลด
- ต่อด้วย 'broadcast_media_scan()' เพื่อกระตุ้นให้ระบบ Android สแกนไฟล์
- คืนค่าเป็น 'True/False' พร้อมตำแหน่งไฟล์ปลายทาง
- ทำงานร่วมกับหลายฟังก์ชันย่อย เช่น 'tap_button_by_text', 'find_last_video_coords'
- ใช้ XML Dump ในการอ่านตำแหน่งปุ่มวิดีโอและจำลองการ tap
- ถ้าการ upload ล้มเหลว จะสั่ง 'force_stop' แอป Facebook เพื่อเริ่มใหม่
- ตรวจสอบ 'content-desc' ว่าเริ่มต้นด้วย '"วีดีโอที่ถ่ายเมื่อ..."'
- คำนวณพิกัดกึ่งกลางของคลิปจาก 'bounds'
- ส่งคืนเป็น '(x, y)' ใช้ร่วมกับ 'tap()' เพื่อแตะเลือกวิดีโอใน UI
- มี Error Handling รองรับปัญหาการอ่านไฟล์, regex ไม่ตรงรูปแบบ และกรณีไม่พบ node ที่ต้องการ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น