این چیزایی که شما دادید کدنویسیشون خیلی زیاده من یه چیز ساده میخواستم.
فکر میکنم این لینک جواب من باشه:
http://stackoverflow.com/questions/3...l-time-in-java
ولی خب چون من مبتدی ام چیزی ازش سر در نیاوردم.
رفتم استفاده کنم اینطوری شد که کارم نکرد:
package ahang;import jaco.mp3.player.MP3Player;
import java.io.File;
import java.net.URL;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.sound.sampled.spi.AudioFileReader;
import javax.sound.sampled.spi.FormatConversionProvider;
public class Main {
public static void main(String[] args) throws Exception {
MP3Player player = new MP3Player();
player.setRepeat(true);
// player.addToPlayList(new File("sound.mp3"));
player.addToPlayList(new URL("http://localhost/site-ahang/sound2.mp3"));
player.setBorder(BorderFactory.createEmptyBorder(5 0, 100, 50, 100));
String duration = getDurationWithMp3Spi(new File("sound.mp3"));
JFrame frame = new JFrame("MP3 Player");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
frame.getContentPane().add(player);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
private static String getDurationWithMp3Spi(File file) throws UnsupportedAudioFileException, IOException {
AudioFileFormat fileFormat = AudioSystem.getAudioFileFormat(file);
if (fileFormat instanceof TAudioFileFormat) {
Map<?, ?> properties = ((TAudioFileFormat) fileFormat).properties();
String key = "duration";
Long microseconds = (Long) properties.get(key);
int mili = (int) (microseconds / 1000);
int sec = (mili / 1000) % 60;
int min = (mili / 1000) / 60;
return "time = " + min + ":" + sec;
} else {
throw new UnsupportedAudioFileException();
}
}
}