java播放列表中的歌曲构造函数
你好,我是新来的 我目前正在使用Java制作一个播放列表软件。我希望java播放列表中的歌曲构造函数,java,project,Java,Project,你好,我是新来的 我目前正在使用Java制作一个播放列表软件。我希望歌曲来自文件并存储在播放列表中。我是否应该在我的歌曲类中添加一些内容来表示它应该来自一个文件?我错过了什么?请回答我 public class Song { private Float playTime; private String songName; private String artist; //getters public Float getPlayTime() { retur
歌曲
来自文件并存储在播放列表中。我是否应该在我的歌曲类中添加一些内容来表示它应该来自一个文件?我错过了什么?请回答我
public class Song {
private Float playTime;
private String songName;
private String artist;
//getters
public Float getPlayTime() { return playTime; }
public String getSongName() { return songName; }
public String getArtist() { return artist; }
}
下面是我的播放列表课程。(不是我的,我在网上找到了。)
公共类播放列表{
//实例变量
私有列表歌曲;//arraylist of songs
私有字符串playlame;//播放列表名称
公共播放列表(字符串名称){
songs=new ArrayList();//初始化ArrayList以保存歌曲类型
播放名称=名称;
}
//方法:
//返回播放列表名称
公共字符串名称(){
返回播放列表名称;
}
//将歌曲列表添加到播放列表中
公共歌曲(歌曲s){
返回歌曲。添加;
}
//返回列表。注意返回是列表。
公共列表getList(){
系统输出打印(播放名+“:”);
对于(int i=0;i
您的课程很好。在主方法中,必须从文件中读取歌曲。您没有指定要处理的歌曲格式。Mp3、waw,还是仅仅是一个包含虚构数据的简单txt文件
例如,如果您想使用MP3,您可以使用:
File File=新文件(您的文件路径);
AudioFileFormat文件格式=AudioSystem.getAudioFileFormat(文件);
if(文件格式实例of TAudioFileFormat){
映射属性=((TAudioFileFormat)fileFormat).properties();
String key=“持续时间”;
Long lengthOfFile=(Long)properties.get(key);
//获取其他属性,然后实例化Song对象,然后调用addSong()
}
public class Playlist {
//Instance variable
private List<Song> songs; //arraylist of songs
private String playlistName; //Playlist name
public Playlist(String name) {
songs = new ArrayList<Song>(); //initalize Arraylist to hold Song type
playlistName = name;
}
//Methods:
//Returns the playlist name
public String playlistName() {
return playlistName;
}
//adds Song s to Playlist
public boolean addSong(Song s) {
return songs.add(s);
}
//return list. Note return is List<Song>.
public List<Song> getList() {
System.out.print(playlistName + ":");
for (int i = 0; i < songs.size(); i++)
System.out.print(songs.get(i));
return songs;
}
public boolean removeSong(Song s) {
return songs.remove(s);
}
public double playlistTime() {
double sum = 0;
for (int j = 0; j < songs.size(); j++)
sum = sum + songs.get(j).getPlayTime();
return sum;
}
public boolean isSongInPlaylist(String name) {
boolean x = false;
for (int i = 0; i < songs.size(); i++)
if (songs.get(i).getSongName().equalsIgnoreCase(name))
x = true;
return x;
}
public void songsByArtist(String name) {
for (int i = 0; i < songs.size(); i++)
if( songs.get(i).getArtist().equals(name))
System.out.println(songs.get(i).getArtist());
}
public boolean addSongsFrom(Playlist p) { // enter code here
boolean x = true;
for (int i = 0; i < p.getList().size(); i++)
if (p.getList().get(i).getSongName().equals(songs.get(i).getSongName()))
x = x;
else
this.addSong(p.getList().get(i));
return x;
}
public int totalSongs() {
return songs.size();
}
public String toString() {
return playlistName;
}
}
File file = new File(YOUR_FILE_PATH);
AudioFileFormat fileFormat = AudioSystem.getAudioFileFormat(file);
if (fileFormat instanceof TAudioFileFormat) {
Map<?, ?> properties = ((TAudioFileFormat) fileFormat).properties();
String key = "duration";
Long lengthOfFile= (Long) properties.get(key);
//get other properties, then instantiate the Song object, then call addSong()
}