داستان یک کلک رشتی؛ چطور زدم آهنگ بعد!

من استاد خراب کردن هندزفری هستم. به خاطر اینکه موقع راه رفتن گوشی رو می‌ذارم توی جیبم و آهنگ گوش می‌دم. در نتیجه فیش هدفون‌های سیمی من همیشه بعد چند وقت خراب می‌شن. این شد که بعد سال‌ها مقاومت بالاخره یه هدفون بی‌سیم خریدم.
این هدفون همه چیش قابل‌قبول بود به جز یه موردش. نمی‌شد بدون اینکه گوشی رو از جیب دربیاری آهنگ رو عوض کنی.
تمام دفترچه راهنماش رو خوندم و چیزی در این باره نوشته نشده بود. نظراتش رو خوندم و دیدم مردم هم راهی پیشنهاد ندادن. اینترنت رو گشتم و دیدم برنامه جانبی‌ای هم نداره. بعد مقدار زیادی شخم زدن اینترنت کد یه اپلیکیشن رو توی گیت‌هاب پیدا کردم که تقریبا همچین کاری رو برای یه مدل دیگه از هدفون انجام می‌داد، با استفاده از یه کلک رشتی.
کلک رشتیش خیلی ساده بود. یه کم توضیح می‌دم.

هدفون من که مدلش earphone 2 basic شیائومی هست کلا دو تا عملکرد داره. اگه دو بار بزنی رو گوشی راستش آهنگ متوقف و پخش میشه و اگه دو بار بزنی رو گوشی چپش دستیار صوتی گوگل باز می‌شه.
توی گوشی‌های اندروید یه قابلیتی وجود داره به نام اینتنت که با استفاده ازش می‌شه یه برنامه دیگه رو باز کرد. این هدفون هم وقتی دو بار روی دکمه چپش می‌زنی یه اینتنت صدا می‌زنه که دستیار صوتی گوگل باز شه.
حالا سازوکار این کلک رشتی به این صورته که میاد و برنامه‌ای که خودمون نوشتیم رو به عنوان برنامه‌ای که می‌تونه اینتنت دستیار صوتی رو دریافت کنه معرفی می‌کنه.
در نتیجه وقتی دو بار روی دکمه چپ هندزفری بزنیم، به جای اینکه دستیار صوتی مستقیم باز بشه، گوشی میاد و از ما می‌پرسه که دستیار صوتی رو با کدوم برنامه باز کنم. همونطور که مثلا برای باز کردن یه عکس یا فیلم میشه از برنامه‌های مختلفی استفاده کرد.


حالا که تونستیم رویداد دو بار لمس کردن دکمه سمت چپ رو متوجه بشیم و به برنامه خودمون منتقلش کنیم، کار راحت می‌شه.
خیلی راحت میایم و هر وقت دکمه لمس شد به جای باز کردن دستیار صوتی، هر کاری که خواستیم می‌کنیم. مثلا عوض کردن آهنگ یا کم و زیاد کردن صدا.

اینگونه میشه که یه هدفون خرفت، رام می‌شه!



برنامه رو اینجا منتشر کردم که اگه کس دیگه‌ای هم این مشکل رو داشت بتونه ازش استفاده کنه.

https://cafebazaar.ir/app/ali.khaleghi.earphone


روی هدفون خودم ۱۰۰٪ و روی مدل Airdots شیائومی هم به احتمال خوبی کار می‌کنه. بقیه هدفون‌ها و مدل‌ها رو نمی‌دونم. کلا جای دکمه دستیار صوتی رو می‌گیره دیگه!

سورس‌کد برنامه هم اینجا هست.

https://github.com/alikhaleghi76/earphone


آیکون‌های استفاده‌شده داخل برنامه رو هم از پکیج آیکون IconaMoon داریوش کش رفتم.


مطلب قبلیم

https://virgool.io/programming/remote-vx2tw4vfezor