You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将MP3嵌入Python生成的EXE,使EXE无需外部音频文件即可运行?

解决方案:将音频文件嵌入EXE实现独立运行

要让EXE脱离原音频文件独立运行,核心是通过Pyinstaller/Auto-py-to-exe把音频打包进EXE,运行时从Pyinstaller生成的临时目录读取资源。以下是具体实现步骤:

一、修改代码适配嵌入音频

原代码直接读取本地1.mp3,需要调整为自动识别开发环境和打包后的运行环境路径:

from playsound import playsound
from sound import Sound
import schedule
import requests
import random
import sys
import os

# 获取音频文件路径:开发环境读本地,打包后读临时目录
def get_audio_path():
    if hasattr(sys, '_MEIPASS'):
        # Pyinstaller打包后会创建临时目录,sys._MEIPASS指向该目录
        return os.path.join(sys._MEIPASS, '1.mp3')
    else:
        # 开发阶段的本地路径
        return '1.mp3'

def xaxax():
    Sound.volume_set(100)
    audio_path = get_audio_path()
    playsound(audio_path)

def main():
    s55 = str(random.randint(13,50))
    s50 = str(random.randint(10,45))
    s45 = str(random.randint(10,40))
    schedule.every().friday.at(f'12:{s45}').do(xaxax)
    schedule.every().friday.at(f'09:{s55}').do(xaxax)
    schedule.every().monday.at(f'09:{s55}').do(xaxax)
    schedule.every().tuesday.at(f'10:{s50}').do(xaxax)
    schedule.every(5).seconds.do(xaxax)
    while True:
       schedule.run_pending()

if __name__ == "__main__":
    main()

二、打包配置(Pyinstaller/Auto-py-to-exe)

方法1:Pyinstaller命令行打包

在终端执行以下命令,指定嵌入的音频文件:

pyinstaller --onefile --add-data "1.mp3;." your_script_name.py
  • --onefile:生成单个独立EXE文件
  • --add-data "1.mp3;.":将1.mp3添加到打包资源,分号后是运行时的目标路径(.表示和临时目录根目录同位置)

方法2:Auto-py-to-exe图形化打包

  • 打开Auto-py-to-exe,选择你的Python脚本文件
  • 在One File选项卡勾选One File
  • 找到Additional Files区域,点击Add Files选择1.mp3
  • 为该文件设置Destination为.(确保和代码中读取的路径对应)
  • 点击Convert .py to .exe完成打包

额外注意事项

  • 若playsound在打包后出现播放失败,建议替换为pygame模块,兼容性更好。替换后的播放代码示例:
import pygame
def play_audio():
    pygame.mixer.init()
    pygame.mixer.music.load(get_audio_path())
    pygame.mixer.music.play()
    while pygame.mixer.music.get_busy():
        pygame.time.Clock().tick(10)
  • 如果自定义sound模块未被自动打包,可在Pyinstaller命令中添加--hidden-import sound参数强制导入

内容的提问来源于stack exchange,提问作者Revil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 13:52:56