一种获取音乐播放器当前播放歌曲名称的方法与系统的制作方法
【技术领域】
[0001 ]本发明属于计算机技术领域,更具体地,涉及一种获取音乐播放器当前播放歌曲名称的方法与系统。
【背景技术】
[0002]当前市场上有多种音乐播放器,例如比较主流的有QQ音乐播放器、网易云音乐播放器、百度音乐播放器以及酷狗音乐播放器,各种播放器在播放音乐时可以在该播放器窗口中显示当前播放歌曲名称以及歌词。然而目前并没有一种有效的方法能够获取计算机操作系统中所运行音乐播放器当前所播放的歌曲名称。
【发明内容】
[0003]针对现有技术的以上缺陷或改进需求,本发明提供了一种获取音乐播放器当前播放歌曲名称的方法与系统,其目的在于获取系统中所运行音乐播放器当前所播放的歌曲名称,从而能够进一步在其他应用程序窗口中显示系统中当前运行音乐播放器所播放的歌曲名称。
[0004]为实现上述目的,按照本发明的一个方面,本发明提供了一种获取音乐播放器当前播放歌曲名称的方法,包括如下步骤:
[0005](I)确定计算机操作系统中当前所运行的音乐播放器的类型;
[0006](2)通过读文件函数ReadFile的文件句柄动态获取当前所运行的音乐播放器正在读取的文件,解析所述音乐播放器正在读取的文件得到所述音乐播放器当前所播放的歌曲名称。
[0007]本发明的一个实施例中,所述步骤(2)中解析所述音乐播放器正在读取的文件得到所述音乐播放器当前所播放的歌曲名称,具体为:
[0008]若所述音乐播放器为QQ音乐播放器,则按照“演唱者-歌曲名-XXX.qrc”的规则解析上述通过ReadFile函数获取到的文件名,得到QQ音乐播放器中正在播放的歌曲名称;
[0009]若所述音乐播放器是网易云音乐播放器,则通过解析计算机操作系统中网易云音乐播放器临时安装目录下的\CloudMusic\webdata\file\history文件来获取当前播放的歌曲名称;
[0010]若所述音乐播放器是百度音乐播放器,则按照“歌曲名.1re”的规则解析通过ReadFile函数获取到的文件名,得到百度音乐播放器中正在播放的歌曲名称;
[0011]若所述音乐播放器是酷狗音乐播放器,则按照“XXX-歌曲名”的规则解析通过ReadFile函数获取到的文件名,得到酷狗音乐播放器中正在播放的歌曲名称。
[0012]本发明的一个实施例中,所述确定系统中当前所运行的音乐播放器的类型为通过获取计算机操作系统中所运行的音乐播放器的进程来判断当前是否有相应的音乐播放器正在运行,具体为:
[0013]如果计算机操作系统中运行有qqmusic.exe进程,则确定当前所运行的音乐播放器为QQ音乐播放器;
[0014]如果计算机操作系统中运行有cloudmusic.exe进程,则确定当前所运行的音乐播放器为网易云音乐播放器;
[0015]如果计算机操作系统中运行有baidumusic.exe进程,则确定当前所运行的音乐播放器为百度音乐播放器;
[0016]如果计算机操作系统中运行有kugou.exe进程,则确定当前所运行的音乐播放器为酷狗音乐播放器。
[0017]本发明的一个实施例中,所述方法还包括:在计算机操作系统的内存中分配用于存储获取到的歌曲名称的存储区域;在获取歌曲名称之后,将所述获取到的歌曲名称存储到上述存储区域。
[0018]本发明的一个实施例中,所述方法还包括:将所述获取到的歌曲名称存储到上述存储区域之后,读取所述存储区域中的歌曲名称,并通过Windows绘制接口函数,在非当前音乐播放器应用程序中显示所述歌曲名称。
[0019]按照本发明的另一方面,还提供了一种获取音乐播放器当前播放歌曲名称的装置,包括播放器类型判断模块以及歌曲名称获取模块,其中:
[0020]所述播放器类型判断模块,用于确定计算机操作系统中当前所运行的音乐播放器的类型;
[0021]所述歌曲名称获取模块,用于通过读文件函数ReadFiIe的文件句柄动态获取当前所运行的音乐播放器正在读取的文件,解析所述音乐播放器正在读取的文件得到所述音乐播放器当前所播放的歌曲名称。
[0022]本发明的一个实施例中,所述歌曲名称获取模块解析所述音乐播放器正在读取的文件得到所述音乐播放器当前所播放的歌曲名称具体为:
[0023]若所述音乐播放器为QQ音乐播放器,则按照“演唱者-歌曲名-XXX.qrc”的规则解析上述通过ReadFile函数获取到的文件名,得到QQ音乐播放器中正在播放的歌曲名称;
[0024]若所述音乐播放器是网易云音乐播放器,则通过解析计算机操作系统中网易云音乐播放器临时安装目录下的\CloudMusic\webdata\file\history文件来获取当前播放的歌曲名称;
[0025]若所述音乐播放器是百度音乐播放器,则按照“歌曲名.1re”的规则解析通过ReadFile函数获取到的文件名,得到百度音乐播放器中正在播放的歌曲名称;
[0026]若所述音乐播放器是酷狗音乐播放器,则按照“XXX-歌曲名”的规则解析通过ReadFile函数获取到的文件名,得到酷狗音乐播放器中正在播放的歌曲名称。
[0027]本发明的一个实施例中,所述播放器类型判断模块通过获取计算机操作系统中所运行的音乐播放器的进程来判断当前是否有相应的音乐播放器正在运行,具体为:
[0028]如果计算机操作系统中运行有qqmusic.exe进程,则确定当前所运行的音乐播放器为QQ音乐播放器;
[0029]如果计算机操作系统中运行有cloudmusic.exe进程,则确定当前所运行的音乐播放器为网易云音乐播放器;
[0030]如果计算机操作系统中运行有baidumusic.exe进程,则确定当前所运行的音乐播放器为百度音乐播放器;
[0031]如果计算机操作系统中运行有kugou.exe进程,则确定当前所运行的音乐播放器为酷狗音乐播放器。
[0032]本发明的一个实施例中,所述装置还包括歌曲名称存储模块,所述歌曲名称存储模块用于:在计算机操作系统的内存中分配用于存储获取到的歌曲名称的存储区域;在所述歌曲名称获取模块获取歌曲名称之后,将所述获取到的歌曲名称存储到上述存储区域。
[0033]本发明的一个实施例中,所述装置还包括歌曲名称显示模块,所述歌曲名称显示模块用于:在所述歌曲名称存储模块将所述获取到的歌曲名称存储到上述存储区域之后,读取所述存储区域中的歌曲名称,并通过Windows绘制接口函数,在非当前音乐播放器应用程序中显示所述歌曲名称。
[0034]本发明通过确定计算机操作系统中当前所运行的音乐播放器的类型,从而针对不同的音乐播放器类型,采取对应的歌曲名称获取方法获取音乐播放器当前所播放的歌曲名称,从而能够进一步在其他非当前音乐播放器应用程序中显示所述歌曲名称。从而解决了了现有技术中仅能在音乐播放器窗口中显示当前播放歌曲名称而无法在其他非当前音乐播放器应用程序中显示所述歌曲名称的问题。
【附图说明】
[0035]图1是本发明实施例中一种获取音乐播放器当前播放歌曲名称的方法流程图;
[0036]图2是本发明实施例中另一种获取音乐播放器当前播放歌曲名称的方法流程图;
[0037]图3是本发明实施例中另一种获取音乐播放器当前播放歌曲名称的装置结构图;