Gå til innhold

Kode for å endre ID3tags på mp3filer


Anbefalte innlegg

Videoannonse
Annonse

hei guruthos,

 

du får takke det harde it-arbeidsmarkedet for at jeg tok meg tid til å progge dette :p

 

import java.io.*;

public class WriteID3{

public static void main(String arg[]){
 try{
 	System.out.print("Tast inn mp3 filnavn: ");
 	InputStreamReader konsoll = new InputStreamReader(System.in);
 	BufferedReader fraKonsoll = new BufferedReader(konsoll);
 	String filnavn = fraKonsoll.readLine();
 	File mp3 = new File(filnavn);
 	if(!mp3.exists()){
   System.out.println("Filen eksisterer ikke. Programmet vil avslutte.");
   System.exit(0);
 	}
 	
 	FileInputStream leser = new FileInputStream(mp3);
 	int lengde = (int) mp3.length();
 	// read metoden setter skriverhode i riktig posisjon
 	// de siste 128 bytene benyttes til id3 tag
 	byte[] musikk = new byte[lengde - 128];
 	leser.read(musikk);
 	leser.close();
 	
 	FileOutputStream skriver = new FileOutputStream(mp3);
 	skriver.write(musikk);
 	String tag = "TAG";
 	skriver.write(formater(tag, 3));
 	System.out.print("Tast inn tittel: ");
 	String inn = fraKonsoll.readLine();
 	skriver.write(formater(inn, 30));
 	System.out.print("Tast inn artistnavn: ");
 	inn = fraKonsoll.readLine();
 	skriver.write(formater(inn, 30));
 	System.out.print("Tast inn albumnavn: ");
 	inn = fraKonsoll.readLine();
 	skriver.write(formater(inn, 30));
 	System.out.print("Tast inn aarstall: ");
 	inn = fraKonsoll.readLine();
 	skriver.write(formater(inn, 4));
 	skriver.write(formater("", 128 - 3 - 30 - 30 - 30 - 4));
 	skriver.close();
   	
 }
 catch(Exception x){
 }
}

private static byte[] formater(String inn, int maks){
 int lengde = inn.length();
 if(lengde > maks)
 	inn = inn.substring(0, maks);
 byte[] b = inn.getBytes();
 byte[] verdi = new byte[maks];
 for(int i = 0; i < b.length; i++)
 	verdi[i] = b[i];
 return verdi;
}
}

 

jeg følger med på denne tråden, så pling hvis du lurer på noe

Lenke til kommentar
  • 1 måned senere...

Exception x håndterer Input/Output feil. Det kunne like godt stått IOException. Det er tre situasjoner som kan kaste en IOException i dette programmet; File not found, can't read file, can't write file.

 

Istedet for å ta stilling til om filen eksisterer i koden kunne dette gjøres i exception blokken. eks.

 

TA BORT:

if(!mp3.exists()){

System.out.println("Filen eksisterer ikke. Programmet vil avslutte.");

System.exit(0);

}

 

LEGG TIL:

catch(IOException x){

System.out.println("Filen eksisterer ikke, kan ikke leses, eller kan ikke skrives til. Programmet vil avslutte.");

}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...