Latar Belakang
Untuk penyesuaian volume yang baik, saya menggunakan AppleScript berikut:
try
do shell script "killall afplay"
end try
set currentVolume to output volume of (get volume settings)
set volume output volume (currentVolume + 2)
-- play volume changing sound at new volume
do shell script "afplay /System/Library/LoginPlugins/BezelServices.loginPlugin/Contents/Resources/volume.aiff"
Ini akan meningkatkan volume sebesar 2% dan memainkan volume baru seperti biasa.
Masalah
Menggunakan skrip ini memiliki kelemahan:
- Ketika saya memicu skrip dengan cepat beberapa kali berturut-turut, itu tidak merespons secepat perubahan volume 'normal'.
- Untuk setiap eksekusi, volume suara dimainkan dengan panjang penuh.
Tampaknya masalah saya adalah karena keterbatasan bagaimana skrip dipicu . Misalnya. Ketika saya menggunakan FastScript, itu tidak akan menjalankan script lagi sebelum sudah selesai. Hal yang sama berlaku untuk Quicksilver.
Namun, ketika saya menetapkan "skrip volume bawah" untuk Quicksilver dan "skrip volume lebih keras" ke FastScripts I bisa memicu kedua skrip dengan sangat cepat satu sama lain - jadi: skrip baik-baik saja. Saya percaya bahwa masalah saya disebabkan oleh bagaimana skrip dipicu.
Pertanyaan
Bagaimana saya bisa memicu skrip dengan sangat cepat?