用于播放声音的clojure友好库
我正在寻找一个易于编程的库,用于从clojure函数中不经常播放声音(通知等) 编辑:像这样用于播放声音的clojure友好库,clojure,audio,Clojure,Audio,我正在寻找一个易于编程的库,用于从clojure函数中不经常播放声音(通知等) 编辑:像这样 (use 'my.sound.lib') (play-file "filename") (beep-loudly) (bark-like-a-dog) ... 好的,现在的问题包括一个API愿望列表…;-) 可以在JVM上播放MP3。在Ubuntu上,它被打包为libjlayer java。这里有一个简单的Java使用示例。Clojure包装器: (defn play-file [filename
(use 'my.sound.lib')
(play-file "filename")
(beep-loudly)
(bark-like-a-dog)
...
好的,现在的问题包括一个API愿望列表…;-) 可以在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)))))))
使用(play file)/path/to/file.mp3“
在单独的线程中播放mp3动画,如果您希望在当前线程上播放,请使用(play file)/path/to/file.mp3“true)
。根据你的喜好调整。提供您自己的响亮的嘟嘟声和狗吠声mp3
对于加载嘟嘟声等,您也可以使用MIDI。。。如果您选择尝试,这可能会有所帮助
另外,我的原始答案中的链接可能对您的调整仍有帮助:。自2010年以来,至少出现了三个用于音频播放、操作、可视化和保存的库 clj音频 基于Java声音API构建的通用音频库。具有最少的依赖项,但该项目看起来相当废弃 参见
project.clj
(播放MP3文件需要第二个):
用法示例:
(require '[clj-audio.core :refer :all])
;; Play an MP3 file
(-> (->stream "bell.mp3")
decode
play)
;; Playing synthesized sounds is an experimental feature for the library
(require '[dynne.sampled-sound :refer :all])
;; Play an MP3 file
(play (read-sound "bell.mp3"))
;; Play a synthesized sound
(play (sinusoid 1.0 440))
更多详情:
戴恩
简单易用的选择。有大量的依赖关系
参见项目.clj
:
[org.craigandera/dynne "0.4.1"]
用法示例:
(require '[clj-audio.core :refer :all])
;; Play an MP3 file
(-> (->stream "bell.mp3")
decode
play)
;; Playing synthesized sounds is an experimental feature for the library
(require '[dynne.sampled-sound :refer :all])
;; Play an MP3 file
(play (read-sound "bell.mp3"))
;; Play a synthesized sound
(play (sinusoid 1.0 440))
更多详情:
暗示
一个依赖于合成引擎的高级选项。我想仅仅是玩通知会有点过火,但为了完整起见,我在这里引用它
更多详情: