Ошибка при записи метаданных в mp3 в Clojure с zsau / id3

#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 и просто запускать из исходного кода.