首页 > 编程语言 >手机安卓版Python编译器IDE彩色音乐播放器代码

手机安卓版Python编译器IDE彩色音乐播放器代码

时间:2024-09-12 10:21:40浏览次数:13  
标签:song Python button 编译器 安卓版 music file path 100

import pygame
import tkinter as tk
from tkinter import filedialog

初始化 pygame

pygame.mixer.init()

current_song_index = 0

def play_music():
selected_indices = song_list.curselection()
if selected_indices:
global current_song_index
current_song_index = selected_indices[0]
file_path = song_list.get(current_song_index)
if file_path.endswith(’.mp3’) or file_path.endswith(’.wav’) or file_path.endswith(’.ogg’):
pygame.mixer.music.load(file_path)
pygame.mixer.music.play()

def pause_music():
pygame.mixer.music.pause()

def continue_music():
pygame.mixer.music.unpause()

def stop_music():
pygame.mixer.music.stop()

def next_song():
global current_song_index
if current_song_index < song_list.size() - 1:
current_song_index += 1
else:
current_song_index = 0
file_path = song_list.get(current_song_index)
if file_path.endswith(’.mp3’) or file_path.endswith(’.wav’) or file_path.endswith(’.ogg’):
pygame.mixer.music.load(file_path)
pygame.mixer.music.play()

def previous_song():
global current_song_index
if current_song_index > 0:
current_song_index -= 1
else:
current_song_index = song_list.size() - 1
file_path = song_list.get(current_song_index)
if file_path.endswith(’.mp3’) or file_path.endswith(’.wav’) or file_path.endswith(’.ogg’):
pygame.mixer.music.load(file_path)
pygame.mixer.music.play()

def open_file():
file_paths = filedialog.askopenfilenames(filetypes=[(“MP3 Files”, “.mp3"), (“WAV Files”, ".wav”), (“OGG Files”, “*.ogg”)])
for file_path in file_paths:
song_list.insert(tk.END, file_path)

root = tk.Tk()
root.title(“音乐播放器”)

song_list = tk.Listbox(root,background=‘cyan’, selectmode=tk.MULTIPLE)
song_list.place(x=50, y=300, width=600, height=300) # 设置播放按钮的位置为 x=100, y=200,宽度为 80,高度为 30
song_list.config(selectmode=tk.MULTIPLE)

play_button = tk.Button(root,background=‘green’, text=“播放”)
play_button.place(x=100, y=800, width=150, height=100) # 设置播放按钮的位置为 x=100, y=200,宽度为 80,高度为 30
play_button.config(command=play_music)

pause_button = tk.Button(root,background=‘yellow’,text=“暂停”, command=pause_music)
pause_button.place(x=300, y=800, width=150, height=100) # 设置播放按钮的位置为 x=100, y=200,宽度为 80,高度为 30
pause_button.config(command=pause_music)

continue_button = tk.Button(root,background=‘blue’, text=“继续”, command=continue_music)
continue_button.place(x=300, y=900, width=150, height=100) # 设置播放按钮的位置为 x=100, y=200,宽度为 80,高度为 30
continue_button.config(command=continue_music)

stop_button = tk.Button(root,background=‘red’, text=“停止”, command=stop_music)
stop_button.place(x=100, y=900, width=150, height=100) # 设置播放按钮的位置为 x=100, y=200,宽度为 80,高度为 30
stop_button.config(command=stop_music)

previous_button = tk.Button(root,background=‘orange’, text=“上一首”, command=previous_song)
previous_button.place(x=500, y=800, width=150, height=100) # 设置播放按钮的位置为 x=100, y=200,宽度为 80,高度为 30
previous_button.config(command=previous_song)

next_button = tk.Button(root,background=‘orange’, text=“下一首”, command=next_song)
next_button.place(x=500, y=900, width=150, height=100) # 设置播放按钮的位置为 x=100, y=200,宽度为 80,高度为 30
next_button.config(command=next_song)

open_button = tk.Button(root,background=‘purple’, text=“打开文件”, command=open_file)
open_button.place(x=250, y=650, width=200, height=100) # 设置播放按钮的位置为 x=100, y=200,宽度为 80,高度为 30
open_button.config(command=open_file)

root.mainloop()

彩色音乐播放器

标签:song,Python,button,编译器,安卓版,music,file,path,100
From: https://blog.csdn.net/qq_32257509/article/details/142149343

相关文章

  • 锋哥写一套前后端分离Python权限系统 基于Django5+DRF+Vue3.2+Element Plus+Jwt 视频
    大家好,我是java1234_小锋老师,最近写了一套【前后端分离Python权限系统基于Django5+DRF+Vue3.2+ElementPlus+Jwt】视频教程,持续更新中,计划月底更新完,感谢支持。视频在线地址:打造前后端分离Python权限系统基于Django5+DRF+Vue3.2+ElementPlus+Jwt视频教程(火爆连载更新中......
  • Python习题 177:设计银行账户类并实现存取款功能
    (编码题)Python实现一个简单的银行账户类BankAccount,包含初始化方法、存款、取款、获取余额等功能。参考答案分析需求如下。Python类BankAccount,用于模拟银行账户的基本功能。该类应包含以下方法:初始化方法:接受两个参数:account_holder(账户持有人的姓名)和balance(账户......
  • 计算机毕业设计必看必学!! 89352 基于python的网上挂号预约系统,原创定制程序, java、P
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,医院当然也不例外。网上挂号预约系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用Python技术构建的一个管理系统。整个开发过程首先对软件系统进......
  • Python的进程池和线程池
    线程池都在一个进程内GIL不适合密集型计算共享进程资源,存在不安全的线程fromconcurrent.futuresimportThreadPoolExecutordeftask(n):returnn*2if__name__=='__main__':withThreadPoolExecutor(max_workers=4)asexecutor:results=......
  • 说下Python中的各个多进程模块之间的区别
    在Python中,主要涉及多进程的模块有multiprocessing、concurrent.futures(使用ProcessPoolExecutor)和os模块。以下是这些模块之间的详细区别:1.multiprocessing模块简介:multiprocessing是Python的标准库之一,提供了创建和管理进程的功能。特点:进程类:提供P......
  • 说下Python中的各个多线程模块之间的区别
    在Python中,涉及多线程的主要模块有threading、thread(在Python2.x中使用)和concurrent.futures。以下是这些模块之间的详细区别:1.threading模块简介:threading是Python的标准库之一,提供了创建和管理线程的高级接口。特点:线程类:提供Thread类,用户可以通......
  • python单例模式
    单例模式(SingletonPattern)是一种设计模式,确保一个类只有一个实例,并提供一个全局访问点。Python中实现单例模式有多种方法,以下是几种常见的实现方式:1.使用模块最简单的单例实现是利用Python的模块特性,因为模块在第一次导入时会被初始化,并且后续导入将返回相同的模块对象。......
  • Python中的列表和字典是如何实现的?它们在时间复杂度上有何差异?
    在Python中,列表(list)和字典(dict)是两种非常常用的数据结构,它们的实现方式以及在时间复杂度上的表现有所不同。以下是对它们的实现原理及时间复杂度的详细解释。列表(list)实现动态数组:Python的列表是基于动态数组实现的。这意味着当你向列表中添加元素时,如果当前数组容量不足以......
  • Python中的 GIL是什么?它如何影响多线程?
    GIL(GlobalInterpreterLock)GIL(全局解释器锁)是Python解释器(特别是CPython实现)中的一个机制,用于管理对Python对象的访问。由于Python的内存管理不是线程安全的,GIL确保在任意时刻只有一个线程可以执行Python字节码,从而避免了多个线程同时访问和修改对象造成的数据不一致......
  • python装饰器是什么?有什么作用?
    Python装饰器装饰器是Python中的一种特殊语法结构,允许在运行时动态地修改或增强函数或方法的行为。它们通常用来添加功能,而不需要直接修改原始函数的代码。作用代码重用:装饰器可以封装一些通用的功能,比如日志记录、权限检查、性能监控等,可以在多个函数之间共享这些功能,......