Skip to content

Commit

Permalink
feat(project): 增加歌单下载,下载支持https
Browse files Browse the repository at this point in the history
  • Loading branch information
jadepeng committed Aug 20, 2019
1 parent 2a07a35 commit 5fc1c9d
Show file tree
Hide file tree
Showing 11 changed files with 732 additions and 69 deletions.
129 changes: 119 additions & 10 deletions XMusicDownloader/Form1.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 19 additions & 4 deletions XMusicDownloader/Form1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ public Form1()
private void Form1_Load(object sender, EventArgs e)
{
textBox2.Text = target;
this.cbRate.SelectedIndex = 0;
}

//浏览
Expand Down Expand Up @@ -112,9 +113,11 @@ private void GetList(int page)
resultListView.Items.Clear();
toolStripStatusLabel1.Text = "搜索中...";
List<ListViewItem> listViewItems = new List<ListViewItem>();



var songs = provider.SearchSongs(textBox1.Text, page, 20);

var songs = tblSearch.SelectedIndex==0 ? provider.SearchSongs(textBox1.Text, page, 20): provider.SearchSongsList(txtSongListUrl.Text);

songs.ForEach(item =>
{
Expand All @@ -128,7 +131,6 @@ private void GetList(int page)
lvi.SubItems.Add(item.source);
lvi.Tag = item;
listViewItems.Add(lvi);

});


Expand Down Expand Up @@ -164,9 +166,16 @@ private void UpdateUI(List<ListViewItem> listViewItems)
toolStripStatusLabel1.Text = "搜索完成";
StopProcessBar();

if (resultListView.Items.Count > 0)
if (tblSearch.SelectedIndex == 0)
{
nextPageBtn.Enabled = true;
if (resultListView.Items.Count > 0)
{
nextPageBtn.Enabled = true;
}
else
{
nextPageBtn.Enabled = false;
}
}
else
{
Expand Down Expand Up @@ -223,6 +232,7 @@ private void downBtn_Click(object sender, EventArgs e)
{
downloader = new SongDownloader(provider, target);
}
downloader.rate = this.cbRate.SelectedItem.ToString();

foreach (ListViewItem item in resultListView.CheckedItems)
{
Expand Down Expand Up @@ -257,5 +267,10 @@ private void label1_Click(object sender, EventArgs e)
{

}

private void btnGetSongList_Click(object sender, EventArgs e)
{
GetList(1);
}
}
}
16 changes: 12 additions & 4 deletions XMusicDownloader/Http/SongDownloader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ namespace XMusicDownloader.Http

public class SongDownloader
{
public string rate
{
get;
set;
} = "320";

public SongDownloader(MusicProviders musicProviders, string target)
{
Expand Down Expand Up @@ -50,7 +55,7 @@ public double totalSpeed

public void AddDownload(MergedSong song)
{
SongItemDownloader downloader = new SongItemDownloader(musicProviders, target, song);
SongItemDownloader downloader = new SongItemDownloader(musicProviders, target, song, rate);
downloader.DownloadFinish += Downloader_DownloadFinish;

songs.Add(downloader);
Expand All @@ -77,14 +82,16 @@ public class SongItemDownloader
MusicProviders musicProviders;
string target;
MergedSong song;
string rate = "320";

public event DownloadFinishEvent DownloadFinish;

public SongItemDownloader(MusicProviders musicProviders, string target, MergedSong song)
public SongItemDownloader(MusicProviders musicProviders, string target, MergedSong song,string rate)
{
this.musicProviders = musicProviders;
this.target = target;
this.song = song;
this.rate = rate;
}

public long totalBytes;
Expand All @@ -109,13 +116,14 @@ public void Download()
{
try
{
client.DownloadFile(musicProviders.getDownloadUrl(item), target + "\\" + item.getFileName());
client.DownloadFile(musicProviders.getDownloadUrl(item, rate), target + "\\" + item.getFileName());
DownloadFinish?.Invoke(this, this);
break;

}
catch
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}

Expand Down
Loading

0 comments on commit 5fc1c9d

Please sign in to comment.