用pygame播放flac格式的音乐

之前用酷我音乐下载的高品质的音乐现在用QQ音乐不给播放了,就使Deepseek给我写了一段Python的代码,好使!NICE

Python代码如下:

import pygame
import time

# 初始化 Pygame
pygame.init()

# 初始化音频模块
pygame.mixer.init()

# 加载 FLAC 文件
flac_file = "I:\\music\\往后余生.flac"  # 替换为你的 FLAC 文件路径
pygame.mixer.music.load(flac_file)

# 播放 FLAC 文件
pygame.mixer.music.play()

# 等待音乐播放完成
while pygame.mixer.music.get_busy():
    time.sleep(1)  # 每秒检查一次是否播放完毕

# 退出 Pygame
pygame.quit()

增加播放列表、播放下一首等功能:

import pygame
import os
import time
import random

# 初始化 Pygame
pygame.init()

# 初始化音频模块
pygame.mixer.init()

# 定义文件夹路径
music_folder = "I:\\music\\电影歌曲"  # 替换为你的 FLAC 文件所在的文件夹路径

# 获取文件夹内所有 FLAC 文件
flac_files = [f for f in os.listdir(music_folder) if f.endswith('.flac')]

if not flac_files:
    print("文件夹中没有 FLAC 文件!")
    exit()

# 显示播放列表
print("播放列表:")
for i, file in enumerate(flac_files):
    print(f"{i + 1}. {file}")

# 选择播放模式
print("\n请选择播放模式:")
print("1. 顺序播放")
print("2. 随机播放")
print("3. 单曲循环")
mode = input("输入数字选择模式 (1/2/3): ")

# 根据模式调整播放顺序
if mode == "2":
    random.shuffle(flac_files)  # 随机播放
elif mode == "3":
    flac_files = [flac_files[0]]  # 单曲循环,只保留第一首

# 播放音乐
current_index = 0
while current_index < len(flac_files):
    flac_file = flac_files[current_index]
    file_path = os.path.join(music_folder, flac_file)
    print(f"\n正在播放: {flac_file}")

    # 加载并播放 FLAC 文件
    pygame.mixer.music.load(file_path)
    pygame.mixer.music.play()

    # 用户交互
    while pygame.mixer.music.get_busy():
        print("\n操作选项:")
        print("1. 下一首")
        print("2. 停止播放")
        print("3. 退出程序")
        choice = input("输入数字选择操作 (1/2/3): ")

        if choice == "1":
            pygame.mixer.music.stop()  # 停止当前播放
            break  # 跳到下一首
        elif choice == "2":
            pygame.mixer.music.stop()
            print("播放已停止。")
            exit()
        elif choice == "3":
            pygame.mixer.music.stop()
            print("程序已退出。")
            pygame.quit()
            exit()
        else:
            print("无效输入,请重新选择。")

    # 更新当前播放索引
    if mode == "3":
        current_index = 0  # 单曲循环,始终播放第一首
    else:
        current_index += 1  # 顺序或随机播放下一首

# 退出 Pygame
pygame.quit()

效果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值