Python VLC 不会播放音频?
Posted
技术标签:
【中文标题】Python VLC 不会播放音频?【英文标题】:Python VLC won't play the audio? 【发布时间】:2020-06-10 03:25:59 【问题描述】:我正在尝试使用 python VLC 播放 mp3 文件,但似乎什么也没发生,也没有错误消息。下面是代码:
import vlc
p = vlc.MediaPlayer(r"C:\Users\user\Desktop\python\projects\etc\lady_maria.mp3")
p.play()
我尝试了下面的代码,因为我从另一篇文章中读到:
import vlc
mp3 = "C:/Users/user/Desktop/python/projects/etc/lady_maria.mp3"
instance = vlc.get_default_instance()
media = instance.media_new(mp3)
media_list = instance.media_list_new([mp3])
player = instance.media_player_new()
player.set_media(media)
list_player = instance.media_list_player_new()
list_player.set_media_player(player)
list_player.set_media_list(media_list)
我也尝试使用 pygame 混音器,但同样的原因,没有声音,也没有错误消息。
from pygame import mixer
mixer.init()
mixer.music.load(r'C:\Users\user\Desktop\python\projects\etc\lady_maria.mp3')
mixer.music.play()
所有这些都没有给出错误消息,所以我不确定发生了什么。任何建议将不胜感激!
【问题讨论】:
可以是音量吗? @Kingsley 我尝试了音频但仍然无法正常工作并且没有错误消息... :( 以 Pygame 的例子 - 你确实在等待音乐播放,对吗?mixer.music.play()
只是开始音乐播放,然后立即返回。见:***.com/a/8415875/1730895
@Kingsley 是的,我等了,但什么也没有,音量为 100。除了 vlc 和 pygame,您还推荐任何其他音频播放库吗?
特定的 mp3 是否可以与其他软件一起播放?
【参考方案1】:
如果音频文件在系统上播放正常:-
对于 pygame 库调整音量使用:
mixer.music.set_volume(1.0) # float value from 0.0 to 1.0 for volume setting
【讨论】:
嗨!感谢您的意见,我试过了,但即使将音量设置为 100 后仍然没有声音......这是另一个原因吗?【参考方案2】:所以问题解决为:
from pygame import mixer
mixer.init()
mixer.music.load(r'C:\Users\user\Desktop\python\projects\etc\lady_maria.mp3')
mixer.music.play()
time.sleep(5)
添加time.sleep(5)
解决了问题!
Pygame, sounds don't play
【讨论】:
【参考方案3】:我无法弄清楚 OP 中的代码给出的实际问题是什么。请试试这个测试代码。
import pygame
WINDOW_WIDTH = 200
WINDOW_HEIGHT = 200
### initialisation
pygame.init()
pygame.font.init()
pygame.mixer.init()
window = pygame.display.set_mode( ( WINDOW_WIDTH, WINDOW_HEIGHT ) )
# Rain sound from: https://www.freesoundslibrary.com/sound-of-rain-falling-mp3/ (CC BY 4.0)
pygame.mixer.music.load( 'rain-falling.mp3' )
pygame.mixer.music.play( loops=-1 ) # loop forever
### Main Loop
clock = pygame.time.Clock()
font = pygame.font.SysFont(None, 40)
done = False
while not done:
# Handle user-input
for event in pygame.event.get():
if ( event.type == pygame.QUIT ):
done = True
# Draw some text
window.fill( ( 0, 0, 50 ) )
ms = font.render( str( pygame.time.get_ticks() ), True, ( 255,255,255 ) )
window.blit( ms, ( 100, 100 ) )
pygame.display.flip()
# Clamp FPS
clock.tick_busy_loop(30)
pygame.quit()
如果您从源中的链接下载 MP3,并且运行此脚本没有声音,则问题出在您的本地计算机设置上。在这种情况下,可能会验证您使用的是最新版本的 Python 和 PyGame。我已经用 Python 3.8.2 和 PyGame 1.9.6 对此进行了测试。
我不认为安装VLC Media Player 会伤害任何东西。这是我每天的“首选”媒体播放器。
【讨论】:
嗨,非常感谢您的帮助,这个很好用!!!我听到雨声响亮而清晰。现在我对自己做错了什么感到更加困惑...... ;-(以上是关于Python VLC 不会播放音频?的主要内容,如果未能解决你的问题,请参考以下文章
问题:VLC 播放器在 Ubuntu 20.04.3 LTS 中为视频和音频打开单独的窗口