这是我的Java音乐播放器项目。我在Java项目中比较了2个mp3文件。但是我想比较许多mp3文件。我该怎么做。如果可能的话,我正在等待您的帮助作为代码。 mp3文件以这种方式向您比较示例代码,如果您有很大帮助的话。
public class Compare_Files
{
static ArrayList<String> mp3Paths = new ArrayList();
String sonuc;
public Compare_Files()
{
for (int i = 0,j=1; i < 10; i++,j++) {
}
String Dir_Data="C:/Dir_Data/",Result_Similarity,MP3_File_1=mp3Paths.get(0),MP3_File_2=mp3Paths.get(1),MP3_File_3=mp3Paths.get(2),WAV_File_1=Dir_Data+"Song_1.wav",WAV_File_2=Dir_Data+"Song_2.wav",WAV_File_3=Dir_Data+"Song_3.wav";
Convert_MP3_To_Wav(MP3_File_1,WAV_File_1);
Convert_MP3_To_Wav(MP3_File_2,WAV_File_2);
Convert_MP3_To_Wav(MP3_File_3,WAV_File_3);
Compare_Wav_Files(WAV_File_1,WAV_File_2);
}
void Compare_Wav_Files(String Wav_File_1,String Wav_File_2)
{
Wave record1=new Wave(Wav_File_1);
Wave record2=new Wave(Wav_File_2);
FingerprintSimilarity Similarity=record1.getFingerprintSimilarity(record2);
sonuc=" Similarity = "+(100*Similarity.getSimilarity())+" %";
System.out.println(sonuc);
}
void Convert_MP3_To_Wav(String Input_MP3_File,String Output_Wav_File)
{
File MP3_File=new File(Input_MP3_File),Wav_File=new File(Output_Wav_File);
try
{
AudioAttributes audio=new AudioAttributes();
audio.setCodec("pcm_s16le");
audio.setBitRate(128000);
audio.setChannels(2);
audio.setSamplingRate(44100);
EncodingAttributes attrs=new EncodingAttributes();
attrs.setformat("wav");
attrs.setaudioAttributes(audio);
Encoder encoder=new Encoder();
encoder.encode(MP3_File,Wav_File,attrs);
}
catch (Exception e) { e.printStackTrace(); }
}