düzenleme: soru şimdi bir API Dilek dahil olan bu
(use 'my.sound.lib')
(play-file "filename")
(beep-loudly)
(bark-like-a-dog)
...
düzenleme: soru şimdi bir API Dilek dahil olan bu
(use 'my.sound.lib')
(play-file "filename")
(beep-loudly)
(bark-like-a-dog)
...
OK gibi ... ;-)
Sen JVM üzerinde MP3 oynatma için JLayer kullanabilirsiniz. Ubuntu'da libjlayer-java olarak paketlenmiş. Java here'da basit bir kullanım örneği var. Bir Clojure sarıcı: Bunun yerine geçerli iş parçacığı üzerinde oynamak tercih ederseniz
(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)))))))
kullanın (play-file "/path/to/file.mp3")
, ayrı bir konu (play-file "/path/to/file.mp3" true)
sinek bir mp3 çalmak için. Beğeninize ince ayar yapın. Kendi yüksek sesle bip sesini ve havlayan köpek mp3. ;-)
ve benzeri, ayrıca denemek isterseniz Belki de bu blog entry yararlı olacaktır ... MIDI kullanabilirsiniz. Java Sound Resources: Links:
Ayrıca benim orijinal cevabını bağlantı hala verdiği de yararlı olabilir.
2010 yılından bu yana ses çalma, manipülasyon, görselleştirme ve kaydetmek için en az üç kütüphane ortaya çıktı.
bir genel amaçlı ses kütüphanesi Java Ses API üstüne inşa etti. Az miktarda bağımlılık var, ama proje oldukça terkedilmiş görünüyor.
project.clj
içinde
Başvuru (ikincisi MP3 dosyalarını oynatmak için gereklidir):
[org.clojars.beppu/clj-audio "0.3.0"]
[com.googlecode.soundlibs/mp3spi "1.9.5.4"]
Kullanım örneği:
(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
Diğer ayrıntılar: https://github.com/beppu/clj-audio
A basit ve kullanımı kolay bir seçimdir. Bağımlılık tonu var. project.clj
yılında
Referans:
[org.craigandera/dynne "0.4.1"]
Kullanım örneği:
(require '[dynne.sampled-sound :refer :all])
;; Play an MP3 file
(play (read-sound "bell.mp3"))
;; Play a synthesized sound
(play (sinusoid 1.0 440))
Diğer ayrıntılar: https://github.com/candera/dynne
SuperCollider sentez motorunu kullanır gelişmiş bir seçenek. Bildirimleri oynamak için bir overkill olacağını sanırım, ama ben tam anlamıyla buraya başvuruyorum.
Diğer ayrıntılar: https://github.com/overtone/overtone