【C#】JNG音乐2022.6.4重制【停止维护,正在开发长期维护版本】

本文主要是介绍【C#】JNG音乐2022.6.4重制【停止维护,正在开发长期维护版本】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

界面设计

创意来源:网易云音乐,简洁,明了。

音乐引擎:酷我音乐

整体效果:

鼠标悬浮动画:

鼠标点击动画:

核心代码:

 public async void SearchSong(string songstr){int agtimes = 0;onerr:try{Music.SDK.Provider.KuWoMusic kuWoMusic = new Music.SDK.Provider.KuWoMusic();List<Music.SDK.Models.SongItem> songs = await Task.Run(() => kuWoMusic.SearchSong(songstr));List<ListBoxItem> tmplist = new List<ListBoxItem>();foreach (Music.SDK.Models.SongItem song in songs){//string tmpq = "";string[] songq = new string[2];string sq128 = await Task.Run(() => kuWoMusic.GetSongPlayUrl(song).Result);WebClient wc = new WebClient();//MessageBox.Show(song.SongId.ToString());//string sq320 = await Task.Run(() => wc.DownloadString("http://antiserver.kuwo.cn/anti.s?type=convert_url&rid=" + song.SongId.ToString() + "&format=mp3&response=url"));//songq[1] = tmpq;songq[0] = sq128; string abpicurl = await Task.Run(() => wc.DownloadString("http://m.kuwo.cn/newh5/singles/songinfoandlrc?musicId=" + song.SongId.ToString() + "&httpsStatus=1&reqId=fcd6bc60-3e06-11ec-8722-67bb659a8433").Split(new string[] { "\"songinfo\"" }, StringSplitOptions.None)[1].Split(new string[] { "\"pic\"" }, StringSplitOptions.None)[1].Split('\"')[1]);//DataTable dataTable = JsonConvert.DeserializeObject<DataTable>(abpicurl);songq[1] = song.SongId.ToString();Grid songfather = new Grid();Label songname = new Label(), songabname = new Label(), songartist = new Label(), songplayurl = new Label();songname.Content = song.SongName;songname.HorizontalAlignment = HorizontalAlignment.Left;songname.Margin = new Thickness(0, 0, 0, 0);songname.Width = 100;songartist.Content = string.Join("&", song.SongArtistName);songartist.HorizontalAlignment = HorizontalAlignment.Left;songartist.Margin = new Thickness(110, 0, 0, 0);songartist.Width = 100;songabname.Content = song.SongAlbumName.Replace(" ", "") == "" ? "未知专辑" : song.SongAlbumName;songabname.HorizontalAlignment = HorizontalAlignment.Left;songabname.Margin = new Thickness(220, 0, 0, 0);songabname.Width = 100;songplayurl.Content = songq[0];songplayurl.HorizontalAlignment = HorizontalAlignment.Left;songplayurl.Margin = new Thickness(330, 0, 0, 0);//songplayurl.Width = ;songfather.Width = searchresultlist.Width;songfather.Children.Add(songname);songfather.Children.Add(songartist);songfather.Children.Add(songabname);songfather.Children.Add(songplayurl);ListBoxItem lfather = new ListBoxItem();lfather.Content = songfather;//abimage.Source = new BitmapImage(new Uri(song.SongImageUrl));lfather.Tag = new object[] { song.SongName, song.SongArtistName, song.SongAlbumName, songq, abpicurl };ContextMenu menu = new ContextMenu();MenuItem mi = new MenuItem();mi.Header = "收藏";mi.MouseEnter += putsonginwdbd_MouseEnter;menu.Items.Add(mi);menu.Tag = lfather;lfather.ContextMenu = menu;lfather.MouseDoubleClick += playsong;tmplist.Add(lfather);}runningsign.Visibility = Visibility.Hidden;foreach (ListBoxItem item in tmplist){searchresultlist.Items.Add(item);}}catch (Exception ex){agtimes++;if (agtimes == 10){runningsign.Visibility = Visibility.Hidden;return;}await Task.Run(() => Task.Delay(200));goto onerr;}}

这就是展示的内容啦!

源码

应用程序源码

这篇关于【C#】JNG音乐2022.6.4重制【停止维护,正在开发长期维护版本】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/412222

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

C#下Newtonsoft.Json的具体使用

《C#下Newtonsoft.Json的具体使用》Newtonsoft.Json是一个非常流行的C#JSON序列化和反序列化库,它可以方便地将C#对象转换为JSON格式,或者将JSON数据解析为C#对... 目录安装 Newtonsoft.json基本用法1. 序列化 C# 对象为 JSON2. 反序列化

C#文件复制异常:"未能找到文件"的解决方案与预防措施

《C#文件复制异常:未能找到文件的解决方案与预防措施》在C#开发中,文件操作是基础中的基础,但有时最基础的File.Copy()方法也会抛出令人困惑的异常,当targetFilePath设置为D:2... 目录一个看似简单的文件操作问题问题重现与错误分析错误代码示例错误信息根本原因分析全面解决方案1. 确保

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级