我正在寻找一个易于编程的库,用于从clojure函数中不经常播放声音(通知等).
编辑:像这样
(use 'my.sound.lib')
(play-file "filename")
(beep-loudly)
(bark-like-a-dog)
...
Run Code Online (Sandbox Code Playgroud)
好了,现在问题包括API愿望清单...... ;-)
您可以使用JLayer在JVM上播放MP3.在Ubuntu上它被打包为libjlayer-java.还有在Java中使用的一个简单的例子在这里.Clojure包装:
(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)))))))
Run Code Online (Sandbox Code Playgroud)
用于(play-file "/path/to/file.mp3")在单独的线程中播放mp3飞行,(play-file "/path/to/file.mp3" true)如果您更喜欢在当前线程上播放它.根据自己的喜好调整.提供你自己的嘟嘟声和吠叫狗mp3.;-)
对于负载蜂鸣声等,您也可以使用MIDI ... 如果您选择尝试,此博客条目可能会有所帮助.
此外,我的原始答案中的链接可能仍然有助于您的调整:Java声音资源:链接.
| 归档时间: |
|
| 查看次数: |
1964 次 |
| 最近记录: |