audio - A clojure friendly library for playing sounds -


i'm looking easy program library infrequently playing sounds (notifications , like) clojure function.

edit: this

(use 'my.sound.lib')  (play-file "filename") (beep-loudly) (bark-like-a-dog) ... 

ok, question including api wishlist... ;-)

you can use jlayer mp3 playback on jvm. on ubuntu it's packaged libjlayer-java. there's simple example of use in java here. clojure wrapper:

(defn play-file [filename & opts]   (let [fis (java.io.fileinputstream. filename)         bis (java.io.bufferedinputstream. fis)         player (javazoom.jl.player.player. bis)]     (if-let [synchronously (first opts)]       (doto player         (.play)         (.close))       (.start (thread. #(doto player (.play) (.close))))))) 

use (play-file "/path/to/file.mp3") play mp3 fly in separate thread, (play-file "/path/to/file.mp3" true) if you'd prefer play on current thread instead. tweak liking. supply own loud beep , barking dog mp3. ;-)

for load beep , like, use midi... perhaps blog entry helpful if choose try.

also, link original answer may still helpful in tweaking: java sound resources: links.


Comments

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -