Prólogo: Hemos aprendido muchos puntos de conocimiento en las primeras lecciones, invitamos a todos a ir a arqueología.
Hoy aprenderemos a cargar música y hacer un reproductor de música. Las funciones de la interfaz incluyen:
Cargar portada de fondo
canción anterior
iniciar pausa
próxima canción
repetición
reproducción aleatoria
avance rápido
Visualización de efectos (GIF para que no puedas escuchar el sonido)
analizar
pygame. mixer. music. load( song)
pygame. mixer. music. set_volume( 0.5 )
'''
第一个参数1指播放一次,0指循环播放
time:指从第几毫秒开始播放
pygame.mixer.music.play(1, time)
'''
pygame. mixer. music. play( )
pygame. mixer. music. pause( )
pygame. mixer. music. unpause( )
'''
第一个参数1指播放一次,0指循环播放
time:指从第几毫秒开始播放
pygame.mixer.music.play(1, time)
'''
pygame. mixer. music. play( 1 , time)
reproducción aleatoria
randon.randint(número de música)
Asuntos que requieren atención y soluciones
1. Comience en la misma posición que el ícono del botón tentativo, configure la variable para cambiar de un lado a otro
2. La primera canción se está reproduciendo actualmente, haga clic en la anterior para cambiar a la última canción, reproduzca hasta la última canción, haga clic en la siguiente, debería cambiar a la primera canción
3. Cada vez que se reproduce una música, debería saltar automáticamente a la siguiente
Adquisición de material (icono de función, portada de música, la música solo puede descargarla usted mismo): haga clic en mí
Estructura de directorios
archivo\nombre de carpeta
efecto
imagen2
Almacenamiento de imágenes de iconos de funciones en la interfaz del reproductor
música
almacenar musica
la cubierta
Tienda de portadas de música
Código de la versión completa:
import os
import pygame, random, sys, time
pygame. init( )
sc = pygame. display. set_mode( ( 300 , 250 ) )
bg = pygame. image. load( "image2/bg.png" )
pre_song = pygame. image. load( "image2/上一首.png" )
start = pygame. image. load( "image2/播放.png" )
pause = pygame. image. load( "image2/暂停.png" )
next_song = pygame. image. load( "image2/下一首.png" )
ff = pygame. image. load( "image2/快进.png" )
res = pygame. image. load( "image2/重播.png" )
rand = pygame. image. load( "image2/随机播放.png" )
bg_list = os. listdir( "./封面/" )
bg_list1 = [ ]
for bg in bg_list:
bg_list1. append( pygame. image. load( "./封面/" + bg) )
btn = start
btn_flag = 0
song_list = [ './music/' + i for i in os. listdir( './music/' ) ]
index = 0
song = song_list[ index]
pygame. mixer. music. load( song)
pygame. mixer. music. set_volume( 0.5 )
pygame. mixer. music. play( )
time = 0
print ( time)
length = len ( song_list)
while True :
if btn_flag % 2 == 0 :
btn = start
pygame. mixer. music. pause( )
else :
btn = pause
pygame. mixer. music. unpause( )
sc. blit( bg_list1[ index] , ( 0 , 0 ) )
sc. blit( pre_song, ( 20 , 90 ) )
sc. blit( next_song, ( 210 , 90 ) )
sc. blit( rand, ( 115 , 170 ) )
sc. blit( btn, ( 115 , 90 ) )
sc. blit( ff, ( 210 , 170 ) )
sc. blit( res, ( 20 , 170 ) )
pygame. display. update( )
for event in pygame. event. get( ) :
mouse_x, mouse_y = pygame. mouse. get_pos( )
if event. type == pygame. QUIT:
pygame. quit( )
sys. exit( )
if event. type == pygame. MOUSEBUTTONDOWN:
if 115 < mouse_x < 185 and 90 < mouse_y < 160 :
btn_flag += 1
if 210 < mouse_x < 280 and 90 < mouse_y < 160 :
index = ( index + 1 ) % len ( song_list)
song = song_list[ index]
pygame. mixer. music. load( song)
pygame. mixer. music. play( 1 , 0 )
if 20 < mouse_x < 90 and 90 < mouse_y < 160 :
index = ( index + length - 1 ) % length
song = song_list[ index]
pygame. mixer. music. load( song)
pygame. mixer. music. play( 1 , 0 )
elif 210 < mouse_x < 280 and 170 < mouse_y < 240 :
time += 10
print ( time)
pygame. mixer. music. play( 1 , time)
print ( time)
if pygame. mixer. music. get_busy( ) == False :
index = ( index + 1 ) % length
song = song_list[ index]
pygame. mixer. music. load( song)
pygame. mixer. music. play( )
elif 20 < mouse_x < 90 and 170 < mouse_y < 240 :
time = 0
pygame. mixer. music. play( 1 , time)
elif 115 < mouse_x < 185 and 170 < mouse_y < 240 :
index = random. randint( 0 , 3 )
song = song_list[ index]
pygame. mixer. music. load( song)
pygame. mixer. music. play( )
espero que todos tengan que ayudar
Un pequeño programador dedicado a la ofimática#
He visto esto, sigue + me gusta + marcador = ¡no te pierdas! !
Si desea saber más sobre la automatización de oficinas de Python, ¡preste atención!