Como ler um drive de cd-rom[RESOLVIDO]

Da galera, estou precisando ler um DVD ou CD e capturar as faixas contidas nele.
Alguém já fez alguma coisa assim? Tenho que desenvolver uma pequena aplicação, semelhante a um player de musica, onde vou salvar as faixas em banco de dados, porém não consigo fazer ler o cd que está na unidade.

Bacana esse desafio ehehe…

http://java-avm.sourceforge.net/

Acho que apenas utilizando as libs padrão de java não teria jeito de maneira a manter a portabilidade. Essa API aí utiliza JNI. Se você testar me avise.

Em UNIX/Linux daria p/ você fazer uma leitura raw dentro do dispositivo /dev/cdrom, por exemplo. Em Windows não tenho a menor idéia.

Sem querer ser intrometido… mas existem soluções mais adequadas para isso que você quer fazer…

Guardar esse tipo de dado direto no banco só em casos realmente extremos… se fosse áudio, por exemplo, seria bacana você pegar a música e converter para um formato compressed (MP3, AAC, OGG) antes… enfim…

Assim você poderia trabalhar com arquivos em vez de raw data. Bem mais tranquilo de implementar.

Se a coisa ficar complexa demais você pode acabar tendo que abandonar Java p/ isso ou então utilzar bastante a JNI por sua conta. Concorda? Pensando em custo-benefício, performance, etc.

My Humble Opinion :slight_smile:

Faço dele as minhas palavras :smiley:

Cara, em C# tu faz isso em alguns minutos… quase tudo que se faz em C da pra fazer em C#, mas com uma abstração imensa, tornando o desenvolvimento muito mais simples. CLARO que isso se for WINDOWS ONLY.

Abraços

[quote=hiram]Sem querer ser intrometido… mas existem soluções mais adequadas para isso que você quer fazer…

Guardar esse tipo de dado direto no banco só em casos realmente extremos… se fosse áudio, por exemplo, seria bacana você pegar a música e converter para um formato compressed (MP3, AAC, OGG) antes… enfim…

Assim você poderia trabalhar com arquivos em vez de raw data. Bem mais tranquilo de implementar.

Se a coisa ficar complexa demais você pode acabar tendo que abandonar Java p/ isso ou então utilzar bastante a JNI por sua conta. Concorda? Pensando em custo-benefício, performance, etc.

My Humble Opinion :slight_smile: [/quote]

É que a aplicação dever guardar as faixas, para arquivar os nomes das músicas e não o aúdio. Mas valeu ai pelas dicas.

Consegui resolver assim:

[code]import java.io.File;
import java.util.Vector;

public class Main {

public static void main(String[] args)
{
	Vector vetor = new Vector();

    File dir = new File("G:\\");

	File[] arqs = dir.listFiles();

	for (int i=0; i< arqs.length; i++){
	  System.out.println(arqs[i]);
      vetor.add(arqs[i]);
    }
    //mostra o vetor completo
    System.out.println(vetor);
    //quebra o vetor em posicao e depois separa a unidade da faixa
    for (int i=0; i < vetor.size(); i++){
      String temp = vetor.get(i).toString();
      String faixa = temp.substring(3, 50);
      String unidade = temp.substring(0, 3);
      System.out.println("Unidade: " + unidade + " -> Faixa: " + faixa);
    }
}

}[/code]

É claro, agora tenho que adaptar ao que vou fazer, mas pelo menos já consegui ler as faixas do CD.