#audio #clojure #mp3 #id3
#Аудио #clojure #mp3 #id3
Вопрос:
Я новичок в Clojure и пытаюсь записать некоторые метаданные в файл mp3. Я решил использовать zsau / id3 для этой задачи.
После того, как я создал новый проект с lein new app
, я добавил zsau / id3 в качестве зависимости в свой project.clj
:
:dependencies [[org.clojure/clojure "1.10.0"]
[zsau/id3 "0.1.2"]]
Это мой core.clj
файл:
(ns demo.core
(:require [id3])
(:gen-class))
(defn -main
[amp; args]
(id3/overwrite-tag "t.mp3"
(id3/with-mp3 [mp3 "t.mp3"]
(assoc (:id3/tag mp3) :id3.frame.name/genre ["Rock"]))))
Я скопировал код для записи метаданных из официальных документов пакета.
При попытке запуска -main
я получаю следующую ошибку:
(-main)
Execution error (ExceptionInfo) at org.clojars.smee.binary.core/constant$fn (core.clj:278).
value 'ÿû' should have had the constant value 'ID3'
Что я делаю не так? Должен ли я просто использовать другой пакет вместо zsau / id3?
Комментарии:
1. Ваша зависимость сильно устарела. В документах упоминается
[zsau/id3 "1.0.0"]
, и вы используете[zsau/id3 "0.1.2"]
. Я не знаю, почему это могло вызвать подобную ошибку, но попробуйте обновить.2. Когда я пытаюсь использовать 1.0.0, я получаю
Error synchronising demo:0.1.0-SNAPSHOT: Could not find artifact zsau:id3:jar:1.0.0 in central (https://repo1.maven.org/maven2/)
. Не знаю, актуально ли это, но я использую IntelliJ Idea для своей IDE и Leiningen 2.9.1 на Java 11.0.1.3. Похоже, они забыли добавить последнюю версию в Clojars.
4. Вы могли бы клонировать репозиторий GH и просто запускать из исходного кода.