【问题标题】:How can I change the name of audio stream in pygame mixer?如何在 pygame 混音器中更改音频流的名称?
【发布时间】:2021-10-05 21:28:48
【问题描述】:

目前,当我使用 pygame 的混音器播放任何音频时,我会得到一个名为 Python (v3.8): Audio Stream 的音频流,侧面带有 python 徽标。我想将名称和徽标更改为我的应用程序的名称和徽标,我该怎么做?

这是音频流的截图:

https://imgur.com/mJQ5FY9.png

下面是代码示例:

from pygame import mixer

mixer.init()
mixer.music.load("forest.ogg")
mixer.music.play()

while not mixer.get_busy():
    pass

【问题讨论】:

  • 能否请您在加载和播放音频的位置发布您的代码
  • 代码很大,我在一个例子中编辑过,结果是一样的。

标签: python python-3.x audio pygame


【解决方案1】:

你需要:

pygame.display.set_icon(your_icon)

your_icon 必须是 pygame.Surface(例如加载的图像 (pygame.image.load(path))

【讨论】:

  • 我没有使用pygame的显示,只是混音器。
  • 对我来说,当我运行您的代码时,会弹出一个带有默认 pygame 图标的窗口(以及默认的 pygame window 标题和音乐开始播放。使用此代码,显示的图标已更改。您使用的是哪种显示器?
  • 我认为你的问题弄错了,我已经附上了我想要改变的截图。我没有使用任何显示器,只是终端。
  • 谢谢,现在我更好地理解了这个问题。 1.你用的是什么操作系统? 2. 你是如何制作这个 GUI(和窗口)的?
  • 我在 ubuntu 20.04 上,屏幕截图来自 pavucontrol(音量控制),而不是我的应用程序。
【解决方案2】:

您看到的是系统生成的窗口,而不是 Pygame 窗口。在这种情况下,某些系统甚至可能不会创建窗口。你不能用 Pygame 改变这个窗口的符号和标签。

作为一个选项,您可以创建自己的窗口并使用pygame.display.set_caption() 设置标题和使用pygame.display.set_icon() 设置图标(在某些系统上,必须在创建窗口之前设置图标)


小例子:

import pygame

song_name = "zelda_chest.mp3"

pygame.init()

font = pygame.font.SysFont(None, 40)
title_surf = font.render(song_name, True, (255, 255, 0))

pygame.display.set_icon(pygame.image.load("MusicNote.png"))
window = pygame.display.set_mode((max(400, title_surf.get_width()+20), 100))
pygame.display.set_caption(song_name)

pygame.mixer.init()
pygame.mixer.music.load(song_name)
pygame.mixer.music.play()

window_center = window.get_rect().center
clock = pygame.time.Clock()
run = True
while run and pygame.mixer.music.get_busy():
    clock.tick(100)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    window.fill(0)
    window.blit(title_surf, title_surf.get_rect(center = window_center))
    pygame.display.flip()

pygame.quit()
exit()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多