[Java] zetten van properties in mp3 bestanden

Pagina: 1
Acties:

  • bvp
  • Registratie: Maart 2005
  • Laatst online: 16-04 19:03
Goedemorgen,

Zit hier met een klein probleempje.
Als ik in de eigenschappen van een mp3-bestand kijk (samenvatting) zie ik het volgende:

Dit

Als ik deze mp3 door het programma tag&rename haal kan ik hier een ID3v2-tag zetten (op bijv. basis van titel en artist).
Als ik dan in de properties kijken zie ik het volgende:

Dit

Nu dacht ik, ik ga dit even in java maken dus op zoek naar een library voor ID3v2-tags.
Hier lukt het vervolgens wel (zo lijkt het) om deze tags te zetten.
Als ik nl. het java-programma draai op een mp3-bestand en vervolgens dit bestand in tag&rename bekijk, zie ik daar wel deze tags staan.
Als ik vervolgens in de properties van dit bestand kijk, zie ik daar dus niet de titel en artist ingevuld.

Weet iemand of je deze properties op een andere manier kan zetten in java (misschien met een andere library) ?

Voor geïnteresseerden over hoe ik de ID3v2-tags zet:

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
try {
    MP3File mp3 = new MP3File("c:/temp/bla.mp3"); 
    ID3v2Frame band = null;
    ID3v2Frame title = null;
            
    String art = "0Dat ben ikke";
    String tit = "0Dit is een test title";
    byte[] artCont = art.getBytes();
    byte[] titCont = tit.getBytes();
            
    ID3v2 id = new ID3v2(mp3);
            
    byte byt = 0;
    ID3v2Frame artist = new ID3v2Frame("TPE1", artCont, false, false, false,  ID3v2Frame.NO_COMPRESSION, byt, byt);
    ID3v2Frame titd = new ID3v2Frame("TIT2", titCont, false, false, false, ID3v2Frame.NO_COMPRESSION, byt, byt);
            
    id.addFrame(artist);
    id.addFrame(titd);
    id.update();
            
    System.out.println("done");
            
} 
catch (Exception e)  {
    e.printStackTrace();
}


De lib die ik gebruik is: java_mp3.jar van de.vdheide.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13:05

Janoz

Moderator Devschuur®

!litemod

Misschien worden voor de verkenner properties de ID3v1 properties uitgelezen? Als je in winamp kijkt (dacht ik) kun je beiden zien (en aanpassen) om dit te testen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • bvp
  • Registratie: Maart 2005
  • Laatst online: 16-04 19:03
Janoz schreef op vrijdag 06 januari 2006 @ 09:54:
Misschien worden voor de verkenner properties de ID3v1 properties uitgelezen? Als je in winamp kijkt (dacht ik) kun je beiden zien (en aanpassen) om dit te testen.
Nope, helaas ook niet.
Had ook al de ID3v1-tag gezet maar gewoon hetzelfde resultaat.

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Ik heb die library ook gebruikt. Er zitten wel wat bugjes in (en de auteur reageert niet op emails..)

Ik heb er nog nooit ID3v2 tags mee geschreven, maar als ze in Tag&Rename goed zichtbaar worden, dan lijkt mij niks mis met die library op dat punt.

Weet je zeker dat die properties-schermen in windows de ID3-tags gebruiken?

Siditamentis astuentis pactum.


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Misschien worden de properties door de verkenner gecached?

Wie trösten wir uns, die Mörder aller Mörder?


  • bvp
  • Registratie: Maart 2005
  • Laatst online: 16-04 19:03
Varienaja schreef op vrijdag 06 januari 2006 @ 10:35:
Weet je zeker dat die properties-schermen in windows de ID3-tags gebruiken?
Ben hier idd niet helemaal zeker van, maar leek me het meest logische aangezien de velden gevuld worden na het zetten van deze tag in tag&rename.
Zou uiteraard ook kunnen dat dit programma deze tag zet en tevens dan ook maar de properties vult in de eigenschappen met deze waardes.
Vandaar mijn vraag of iemand weet hoe je die properties nog meer kan zetten.

Tag&rename ziet de tags namelijk wel gewoon dus lijkt mij dat ze wel gezet zijn....

Caching van de verkenner lijkt me hier ook niet het geval, na vandaag opnieuw de pc opgestart te hebben stonden ze er nog steeds niet in. ;)

  • Cuball
  • Registratie: Mei 2002
  • Laatst online: 18:54
is het niet zo dat wat je ziet bij properties van een file in windows op ntfs de metadata is die bij het bestand hoort?

"Live as if you were to die tomorrow. Learn as if you were to live forever"


  • bvp
  • Registratie: Maart 2005
  • Laatst online: 16-04 19:03
Cuball schreef op vrijdag 06 januari 2006 @ 11:31:
is het niet zo dat wat je ziet bij properties van een file in windows op ntfs de metadata is die bij het bestand hoort?
Zou kunnen, kan het allicht proberen! :)
En hoe zou ik met java metadata weg kunnen schrijven in een file?

  • schoene
  • Registratie: Maart 2003
  • Laatst online: 18-04 23:23
Geen idee of het daar mee te maken heeft, maar je controleert niet of de id3v2-frames
TPE1 en TIT2 al bestaan. Als ze al bestaan, wat gebeurt er dan? Worden ze dan vervangen,
of wordt er extra frames toegevoegd, in het laatste geval kan het zijn dat Windows kijkt naar
het eerst voorkomende frame, en T&R naar de laatst voorkomende.

  • Cuball
  • Registratie: Mei 2002
  • Laatst online: 18:54
bvp schreef op vrijdag 06 januari 2006 @ 11:41:
[...]


Zou kunnen, kan het allicht proberen! :)
En hoe zou ik met java metadata weg kunnen schrijven in een file?
ik denk niet dat dit zal werken met java, java is platform onafhankelijk en metadata is iets dat enkel bij ntfs filesysteem beschikbaar is...

misschien dat je iets via JNI kan doen en een c++ programmatje schrijven om deze op te halen / weg te schrijven maar ik ben het niet zeker of daar win32 API's voor beschikbaar zijn...

"Live as if you were to die tomorrow. Learn as if you were to live forever"


  • bvp
  • Registratie: Maart 2005
  • Laatst online: 16-04 19:03
schoene schreef op vrijdag 06 januari 2006 @ 11:45:
Geen idee of het daar mee te maken heeft, maar je controleert niet of de id3v2-frames
TPE1 en TIT2 al bestaan. Als ze al bestaan, wat gebeurt er dan? Worden ze dan vervangen,
of wordt er extra frames toegevoegd, in het laatste geval kan het zijn dat Windows kijkt naar
het eerst voorkomende frame, en T&R naar de laatst voorkomende.
Is inderdaad ook een mooie.
In mijn eerste versie deed ik dit wel en veranderde ik gewoon de Title en de Artist in dit frame.
Ook heb ik voordat ik addFrame() gebruik id.removeFrames(); gebruikt om zeker te weten dat er geen frames aanwezig zijn.
Zelfde resultaat.

Heb ook even verder gezocht op het zetten van properties.
Vond een library van Jakarta die deze data uit kan lezen van office documenten.
Werkt heel mooi, helaas niet voor andere documenten/bestanden :'(
Weet iemand hier toevallig een library voor?

  • bvp
  • Registratie: Maart 2005
  • Laatst online: 16-04 19:03
FYI >

Eindelijk gelukt om de tags te zetten!
Had ergens gehoord dat het toch echt de IDV2-tags waren die de properties bepalen bij een mp3-bestand.
Dus op zoek gegaan naar verschillende libraries en nu is het gelukt met de jid3.jar (gevonden op sourceforge).

Dus voor degene die dit ook een keer willen gaan doen > ga meteen op zoek naar de jid3.jar :)
Pagina: 1