Mengacak Efek Suara Efek di Mac OS


3

Apakah ada cara untuk mengacak efek suara peringatan di Mac OS? Dalam sistem, saya dapat memilih efek suara mana yang ingin saya dengar. Apakah ada cara bagi sistem untuk memilih suara acak setiap kali?

Jawaban:


3

Ini tidak dibangun ke dalam macOS jadi ini adalah sesuatu yang Anda harus skrip dan lakukan sedikit penyesuaian. Anda membutuhkan yang berikut:

  • Lokasi khusus untuk suara Anda
  • Script untuk mengacak suara
  • launchd plist untuk menjalankan skrip pada interval yang ditentukan

Lokasi Kustom untuk Suara

Suara sistem ada di /System/Library/Soundsdirektori yang saya tidak sarankan untuk mencoba untuk memodifikasi. Anda dapat menyalinnya ke ~/Libary/Soundsatau direktori kustom lain yang Anda pilih. Dengan cara ini, Anda dapat menambahkan suara khusus Anda sendiri tanpa mengganggu suara Sistem itu sendiri.

Script untuk Mengacak Soundfile

Skrip di bawah ini akan menghasilkan angka acak antara 0 dan jumlah file yang Anda miliki di direktori suara Anda. Ini kemudian akan membuat array dari semua nama file dan kemudian memilih nama file acak (elemen array) yang kemudian akan menyalin file itu ke file lain yang disebut CustomAlert.aif. Anda dapat menyesuaikan nama file dan jalur yang sesuai dengan kebutuhan Anda.

#!/bin/bash
#
# script filename:  randomAlert.sh

#User Defined Variables
  sdir="/Users/foobar/test"
  sfname="CustomAlert.aif"


#Remove Custom Alert Sound if already Exists

  if [ -f ${sdir}/${sfname} ]; then
    rm -f ${sdir}/${sfname}
  fi



#Get Number of Files in Directory
  numfiles=(*)
  numfiles=${#numfiles[@]}


#Generate Random Number
  rnum=$(( $RANDOM % ${numfiles}  + 0 ))


#Put names of files into array
  fnames=(*)

#Copy file to Alert Sound File
  cp ${sdir}/${fnames[${rnum}]} ${sdir}/${sfname}

exit

Pastikan izin skrip diatur untuk memungkinkan eksekusi:

chmod +x randomAlert.sh

Terakhir, pastikan skrip berada di lokasi "aman" (folder di direktori home Anda selalu merupakan tempat yang baik)

Peluncuran launchd

Untuk menjalankan skrip, Anda perlu menggunakan launchdlayanan ini. Plist dapat masuk ke salah satu dari 3 lokasi:

  • ~/Library/LaunchAgents - Untuk hanya satu pengguna, jalankan sebagai pengguna (yaitu diri Anda sendiri)
  • /Library/LaunchAgents - Untuk semua pengguna, jalankan sebagai pengguna
  • /Library/LaunchDaemons - Sebagai daemon sistem (jalankan sebagai root)

Saya merekomendasikan salah satu dari dua yang pertama; tidak masuk akal untuk dijalankan sebagai daemon sistem.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.user.randomSound</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/USERNAME/Path_to_Scripts/randomAlert.sh</string>
    </array>
    <key>StartCalendarInterval</key>
    <array>
    <dict>
        <key>Hour</key>
        <integer>00</integer>
        <key>Minute</key>
        <integer>00</integer>
    </dict>

</dict>
</plist>

Setelah Anda menyalinnya ke direktori yang sesuai, Anda harus menjalankannya launchctl

launchctl load com.user.randomSound.plist

Setel Suara Peringatan Anda ke File Khusus

Di pengaturan Anda, atur lansiran ke CustomAlert.aif. Meskipun suara akan berubah, nama file akan tetap sama.

Itu dia! Setiap 24 jam, skrip Anda akan dimulai dan menetapkan suara peringatan acak baru.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.