加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows(XP到Windows 7)用python播放音频?

发布时间:2020-12-14 01:55:46 所属栏目:Windows 来源:网络整理
导读:任何人都有使用任何libs使用 python播放音频(现在特别是mp3)的经验吗? 细节: 使用是在wxPython应用程序中(是的,我已经尝试过wx.media.MediaCtrl) 好了,现在我已经尝试过了. 试过像http://www.daniweb.com/software-development/python/code/216465/play-mp
任何人都有使用任何libs使用 python播放音频(现在特别是mp3)的经验吗?

细节:

使用是在wxPython应用程序中(是的,我已经尝试过wx.media.MediaCtrl)

好了,现在我已经尝试过了.

试过像http://www.daniweb.com/software-development/python/code/216465/play-mp3-files-via-pythons-win32com-support这样的代码

不起作用(没有音频)

试过wxPython MediaCtrl:有时工作,但最近只有文件播放工作,网址播放几秒钟,然后没有音频(但跟踪继续,我知道文件也完全下载,所以它不是媒体没有下载).
????我能够通过重新启动来解决这个问题然后它工作了一段时间然后破了,尝试再次重启,这次没有解决它,但是其他使用windows media apis(一个C#.NET应用程序)的玩家工作得很好,所以Windows Media Player.所以这是我猜的wxWidgets库中的一些错误

尝试使用mplayer,例如:http://www.blog.pythonlibrary.org/2010/07/24/wxpython-creating-a-simple-media-player/主要问题mplayer不喜欢设置属性,所以我不能暂停,因为如果我这样做,那么就不会让我重新设置状态(参见我在这里使用的代码http://paste.pocoo.org/show/574269/)

在Linux上,我使用过gstreamer,经过一些令人头疼的事情后工作(虽然还有问题),MacOS X还没有测试过,但我会尝试使用quicktime和wx.media.MediaCtrl,希望能有效)

解决方法

我在几个项目中使用了 PortAudio,这是一个免费的跨平台开源音频库,但从未使用过python.别担心,它有绑定:

PyAudio为PortAudio提供Python绑定.

""" Play a WAVE file. """

import pyaudio
import wave
import sys

chunk = 1024

if len(sys.argv) < 2:
    print "Plays a wave file.nn" +
          "Usage: %s filename.wav" % sys.argv[0]
    sys.exit(-1)

wf = wave.open(sys.argv[1],'rb')

p = pyaudio.PyAudio()

# open stream
stream = p.open(format =
                p.get_format_from_width(wf.getsampwidth()),channels = wf.getnchannels(),rate = wf.getframerate(),output = True)

# read data
data = wf.readframes(chunk)

# play stream
while data != '':
    stream.write(data)
    data = wf.readframes(chunk)

stream.close()
p.terminate()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读