【问题标题】:Can Python open a mp3 file using a separate media player? [closed]Python 可以使用单独的媒体播放器打开 mp3 文件吗? [关闭]
【发布时间】:2010-07-07 20:40:13
【问题描述】:

是否可以在 Python 中打开 mp3 文件(可以使用Popen),我并不是要在程序中运行它,我的意思是作为媒体播放器中的单独窗口或其他任何东西只是为了在我调用函数时打开它,如果是的话怎么打开?

【问题讨论】:

标签: python mp3 popen


【解决方案1】:

使用相关应用程序打开文件(仅限 Windows):

import os
os.startfile('my_mp3.mp3')

文档链接can be found here

【讨论】:

  • 它抛出了一个错误,它说:Traceback(最近一次调用最后一次):文件“C:\Users\matt\Desktop\1.py”,第 3 行,在 os.startfile( 'C:\Users\matt\Desktop\test.mp3') WindowsError: [错误 2] 系统找不到指定的文件:'C:\\Users\\matt\\Desktop\test.mp3'
  • 这里是脚本 import os os.startfile('C:\Users\matt\Desktop\test.mp3')
  • @Matthew Carter:您可能需要将反斜杠加倍(import os ; os.startfile('C:\\Users\\matt\\Desktop\\test.mp3') 或使用正斜杠...
  • 等等,没关系,它工作了,我想我需要输入完整的路径,我猜不是。
  • 在我链接到它的文档中,os.startfile 默认需要从当前工作目录开始的路径,尽管您 可以 使用绝对路径(之前关于需要的评论不过,将反斜杠加倍仍然适用)。
【解决方案2】:

这里是 Python in Music 的 Python 文档:http://wiki.python.org/moin/PythonInMusic

列出了用于打开和播放 mp3 以及其他格式的库。

【讨论】:

    【解决方案3】:

    您也可以使用subprocess。然后,您必须指定要运行的可执行文件的路径,如果您希望它在其他人的计算机上运行,​​这可能没有帮助,但通常是一种非常强大的技术。

    用法:

    import subprocess
    PLAYERPATH = "C:/Program Files (x86)/VideoLAN/VLC/vlc.exe"
    subprocess.call([PLAYERPATH, FILEPATH])
    

    【讨论】:

    • 这仅适用于 Windows;在 POSIX 系统(Linux 等)上subprocess 荣誉$PATH 仍然。
    【解决方案4】:

    如果您的系统上已经安装了 vlc,那么您可以使用 cvlc 命令。

    import os
    os.system('cvlc path/to/foo.mp3')
    

    这会奏效。希望对您有所帮助。

    【讨论】:

      【解决方案5】:
      import mp3play,time
      data= r'pathname'
      clip = mp3play.load(data)
      clip.play()
      time.sleep(20)
      clip.stop()
      

      【讨论】:

        【解决方案6】:
        # Just listen to all the mp3 files in order
        import os
        folder=os.listdir(os.getcwd())
        for files in folder:
            if files.endswith(".mp3"):
                os.startfile(files)
        

        【讨论】:

          【解决方案7】:

          此脚本将在当前目录中随机选择一首歌曲。并且会跳过任何不是 .mp3 文件的文件。您可以在要打开的列表中添加额外的扩展名,例如:ext3=['.mp3', '.mp4'] 等等。

          import random,os,sys
          
          folder=os.listdir(os.getcwd())
          file=random.choice(folder)
          ext3=['.mp3']
          print('First random pick: '+file)
          
          while file[-4:] not in ext3 :
              print('Not an MP3 file  : '+file)
              file=random.choice(folder)
          else:
              os.startfile(file)
              print('Song name: '+file)
          
          sys.exit()
          
          ##os.startfile(random.choice(folder))
          

          【讨论】:

          • 经过几次调整后就像一个魅力:)
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-05-18
          • 1970-01-01
          • 1970-01-01
          • 2010-10-14
          • 1970-01-01
          • 1970-01-01
          • 2013-11-02
          相关资源
          最近更新 更多