您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

pygame系列_原创百度随心听音乐播放器_完整版

5b51 2022/1/14 8:24:21 python 字数 67061 阅读 625 来源 www.jb51.cc/python

pygame系列_原创百度随心听音乐播放器_完整版

概述

程序名:

解释:pygame+music

之前发布了自己写的小程序百度随心听音乐播放器的一些效果

你可以去到这里再次看看效果

pygame系列_百度随心听_完美的UI设计

这个程序的灵感来自于百度随心听

hongten_pymusic

说明:

       动作按钮全部是画出来的,没有用到任何图片

       用到图片的只有:背景,歌手图片,作者图片

经过一个阶段的调试,现在算是可以拿上台面和大家交流

hongten_pymusic

功能介绍:

A.四个按钮介绍

 1.完成停止,播放音乐功能

 2.喜欢/不喜欢当前所播放的音乐

 3.删除当前所播放的音乐(物理环境下不会删除删除的是内存中的)

 4.下一曲

 5.当鼠标经过按钮的时候,按钮颜色会变化

B.状态栏(最下面)

 1.显示所有歌曲数(AllSongs)

 2.当前播放的歌曲是第只歌曲

 3.当前音量(范围:0 - 10)

 4.音量的图形显示(这里没有用到图片,而是系统画出来的:-))

 5.我的邮箱信息:hongtenzone@foxmail.com

C.右下角

 1.当鼠标移动到黄色圆区域,会展示出我的相片和'Yes,You are Luck:)'字样

  鼠标一开的时候会自动隐藏(我想接触过android系统手机的的朋友,可能有这样的经历,在工具里面有一个地方

  当点击三下的时候,会出现android里面的一副图片....对我这里的灵感来自于这里ll)

下面我说说我做的思路吧

我想有一部分朋友会喜欢的...:)

首先,主题功能是音乐播放,那么我们就应该实现这个音乐播放的功能

哈哈,这个灵感来自于我之前写的小游戏:

在这个游戏中,我实现了音乐的播放,于是乎我就想在音乐播放上面做一些文章...

接下来是程序PyMusic的主题界面需要考虑,我个人喜欢听歌...百度音乐,百度随心听都是常去的地方..

百度随心听的界面设计简洁,很适合我的风格...所以我选择了百度随心听..

于是乎我看是看百度随心听的代码...一不小心被我大概看明白了按钮之间的逻辑....

一时间,头脑中出现了PyMusic的原型....

为什么不做一个呢?我就这样问着我自己,慢慢在脑海中呈现PyMusic的原型...

然后开始动笔,把pyMusic的原型在纸上画了出来....

画好了,就开始分析...(这个过程有一点长..)

然后把原型中的物体(按钮,图片加载..)一个一个的实现..

最后加上我的小自信..呵呵,成啦..

=======================================

一些细节

在做PyMusic的过程中,需要注意一些细节的地方

我下面把这些地方罗列出来

1.音量图形的初始化

2.加载歌曲和图片

3.字体加载

4.停止/播放按钮

5.删除歌曲按钮

6.作者信息展示

7.第一个监听器

8.第二个监听器

9.鼠标按下事件

上面的都是一些细节的地方...

=======================================

下面是完整代码部分:

=======================================

<div class="cnblogs_code">

 
 
   pygame.locals  *
  sys   random  *
 
  = 
   
  = 
  = { :                 :                 :                 :  
   pygame.mixer: (   pygame.font: ( 
  
 SCREEN_W = 580
 SCREEN_H = 450
 SCREEN_DEFAULT_SIZE = (SCREEN_W,SCREEN_H + 20 VOLUME = 5
 IMAGE_START_POS = (60,60 IMAGE_END_POS = (245,245 CIRCLES_POS = [(85,350),(150,(555,425 CIRCLR_R = 25
 CIRCLR_W = 3
 
 PLAY_FLAG = PREFER_FLAG = 
 
 data_dir = 
 IMAGE_DIR = 
 BG_IMAGE_DIR = 
 FONT_DIR = 
 SOUND_DIR = 
 
 BG_IMAGE = 
 AUTHOR_IMAGE = 
 
 BGS = SONG_FLAG = SONGS = [(,,,          (,,,          (,,,          (,,,          (,,,          (,,          (,,, westlift = 
 
 VOLUME_POINTS = VOLUME_POINTS_START = VOLUME_RECT_COLORS =  p  range(170,7     VOLUME_POINTS.append([SCREEN_W - p,SCREEN_H + 20  ps  range(175,7     VOLUME_POINTS_START.append([SCREEN_W -     VOLUME_RECT_COLORS.append((randint(0,255 
 screen = pygame.display.set_mode(SCREEN_DEFAULT_SIZE,32 bg =os.path.join(data_dir,BG_IMAGE_DIR,BG_IMAGE)).convert()
 author_image =os.path.join(data_dir,AUTHOR_IMAGE)).convert()
 
 SONG_ARRAY = SONG_IMAGE =  song  .sound(os.path.join(data_dir,SONGS[song][0])))
     SONG_IMAGE.append(pygame.image.load(os.path.join(data_dir,SONGS[song][3 
 font = pygame.font.Font(os.path.join(data_dir,14 font_song_title = pygame.font.Font(os.path.join(data_dir,24 font_song = pygame.font.Font(os.path.join(data_dir,16 
       
                       (255,  
       points=[(77,350  
                          Rect(77,23                        Rect(88,23 
      pygame.draw.circle(screen,CIRCLES_POS[1     points=[(138,(162,363  
      pygame.draw.circle(screen,CIRCLR_W)
     pygame.draw.circle(screen,3                        Rect(200,6                        Rect(204,20                        Rect(210,20                        Rect(217,20                        Rect(223,20                        Rect(204,5 
      pygame.draw.circle(screen,CIRCLES_POS[3     points_one =[(270,343),(270,357),(277,350     points_two =[(277,(284,350                          Rect(284,343,15 
       pygame.draw.circle(screen,CIRCLR_W)
                       (255,                      Rect(418,154      screen.blit(author_image,250      luck = font_song_title.render(      screen.blit(luck,416 
                x,y =     color = (255,25     color_red = (230      index          p_x = (CIRCLES_POS[index][0] - x)**2
         p_y = (CIRCLES_POS[index][1] - y)**2
         p_r = (CIRCLR_R)**2
          (p_x + p_y <=              index == 0                index == 0                 index == 1                index == 1                 index == 2               index == 3               index == 4  
                     x,y =      index          p_x = (CIRCLES_POS[index][0] - x)**2
         p_y = (CIRCLES_POS[index][1] - y)**2
         p_r = (CIRCLR_R)**2
          (p_x + p_y <=              index == 0                  Now......')
                  PLAY_FLAG =              index == 0                   Now ... ... ... ...')
                  PLAY_FLAG =              index == 1                  (,>                 PREFER_FLAG =              index == 1                   (,>                 PREFER_FLAG =              index == 2                  (,>                  SONG_FLAG >                         SONG_FLAG >= len(SONGS) - 1                         SONG_FLAG -= 1
                                      (              index == 3                   SONG_FLAG < len(SONGS) - 1                     SONG_FLAG += 1
                                      SONG_FLAG =                 
                 
      color = (255,255     color_red = (230     
                   
                  
      
  
      
                       (255,                      Rect((VOLUME_POINTS_START[-1                            VOLUME_POINTS_START[-1][1                           (VOLUME_POINTS[-10][0] - VOLUME_POINTS_START[-1                            20     
      v  range(VOLUME+1          v >                                Rect((VOLUME_POINTS_START[-                                    VOLUME_POINTS_START[-v][1                                   (VOLUME_POINTS[-v][0] - VOLUME_POINTS_START[-                                    20 
      title = font_song_title.render(SONGS[SONG_FLAG][1],165     songer = font_song.render(SONGS[SONG_FLAG][2],255     screen.blit(title,(320,60     screen.blit(songer,110 
      pygame.draw.line(screen,(165,42,42     
     music_info =  + str(len(SONGS)) + + str(SONG_FLAG + 1     text = font.render(music_info,255     screen.blit(text,SCREEN_H+5     
     author_info = font.render(,255     screen.blit(author_info,(SCREEN_W - 160,SCREEN_H+5     
     volume_text = font.render( + str(VOLUME),255     screen.blit(volume_text,(SCREEN_W - 310,SCREEN_H+5     
      
      pic =     bg_sound =     bg_sound.set_volume(0.1 *        event           event.type ==            event.type ==              event.key ==                 
              event.key ==                 
              event.key ==                  VOLUME >                     VOLUME -= 1
              event.key ==                  VOLUME <= 9                     VOLUME += 1
          event.type ==             
                     
          event.type ==             pressed_array =              index                  301                      index == 0: 
  
     
      
      
      
      
     screen.blit(pic,(62.5,62.5     pygame.display.update()

你在运行的时候,肯恩会遇到一些问题,系统找不到音乐和图片....

这个由于文件中的音乐,字体和图片有一点大,所以我把图片和音乐删掉..你可以进行添加即可

还请大家给我想想办法,我好上传文件给大家伙下载...

========================================================

More reading,and english is important.

I'm Hongten

大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。Hongten博客排名在100名以内。粉丝过千。Hongten出品,必是精品。

E | hongtenzone@foxmail.com  B | 

========================================================


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶