如何播放 mp3

2024-01-03

我的问题从这里开始:

pyttsx 和 gTTS 模块错误 https://stackoverflow.com/questions/36323564/pyttsx-and-gtts-module-errors

gTTS 效果很好,从文本文件中获取文本,但首先创建 mp3 文件,然后如果我想听,我必须调用这个 mp3,所以它很好,但如果我可以避免任何音频文件,并从其中读取,那就更好了文本文件。也许我可以使用谷歌语音从文本文件中读取..?无论如何,现在的主要问题是其他

如果我只能使用 gTTS 在 Windows 10-64 位、Python 3.5 上播放 mp3 的最佳方式是什么

操作系统没问题:

import os
os.startfile("D:\my path/rec1.mp3") 

这很好,但我不想使用默认播放器,需要诸如 simpleaudio 之类的 mp3 之类的东西...

使用 pygame 我有安装问题,不确定,这样使用它有多好:

from pygame import mixer 

mixer.init()
mixer.music.load('D:/my path/rec1.mp3')
mixer.music.play()

vlc到底要怎么安装呢?和easy_install vlc我收到错误:could not find suitable distribution for requirement.parse ('vlc')pip install vlc error: could not find a version that satisfies the requirement vlc (from versions: ) no matching distribution found for vlc

import vlc

p = vlc.MediaPlayer("file:/my path/rec1.mp3")
p.play()
p.stop()

与 pyglet:

import pyglet

music=pyglet.media.load('D:/my path/rec1.mp3')
music.play()
pyglet.app.run()

我收到这个错误:

'AVbin is required to decode compressed media')
pyglet.media.riff.WAVEFormatException: AVbin is required to decode compressed media

子进程也使用默认播放器:

import subprocess

sound_program = "path to player"
sound_file = "D:/my path/rec1.mp3"
subprocess.call([sound_program, sound_file])

与 mp3play,不知道如何使用它:

import mp3play

filename = (r'D:\my path/rec1.mp3')
clip = mp3play.load(filename)
clip.play()

我这样尝试过:

  filename = ('D:\my path/rec1.mp3')

这边走:

  filename = r'D:\my path/rec1.mp3'

在所有情况下我都收到错误:

Traceback (most recent call last):
  File "D:/dt/PyCharm_project/0_ASK.py", line 18, in <module>
    import mp3play
  File "C:\Users\User\AppData\Roaming\Python\Python35\site-packages\mp3play\__init__.py", line 4, in <module>
    from .windows import AudioClip as _PlatformSpecificAudioClip
  File "C:\Users\User\AppData\Roaming\Python\Python35\site-packages\mp3play\windows.py", line 27
    print 'Error %s for "%s": %s' % (str(err), txt, buf)
                                ^
SyntaxError: invalid syntax

好的,用 pydub :

from pydub import AudioSegment 
from gtts import gTTS
import simpleaudio as sa

blabla = ('my voice')
tts = gTTS(text=blabla, lang='en')
tts.save("D:/my path/rec.mp3")

rec = AudioSegment.from_mp3("D:\my path\rec.mp3")
rec.export("rec.wav", format="wav")

#rec = AudioSegment.ffmpeg ("D:\my path\rec.mp3")
#rec.export("rec.wav", format="wav")

#rec = AudioSegment.converter ("D:\my path\rec.mp3")
#rec.export("rec.wav", format="wav")

wave_obj = sa.WaveObject.from_wave_file('D:/my path/rec.wav'')
play_obj = wave_obj.play()
play_obj.wait_done()

序列中的错误首先是AudioSegment.from_mp3 :

RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
  warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
Traceback (most recent call last):
  File " D:/dt/PyCharm_project/0_ASK.py", line 9, in <module>
    rec = AudioSegment.from_mp3("D:\my path\rec.mp3")
  File "C:\Users\User\AppData\Roaming\Python\Python35\site-packages\pydub\audio_segment.py", line 438, in from_mp3
    return cls.from_file(file, 'mp3')
  File "C:\Users\User\AppData\Roaming\Python\Python35\site-packages\pydub\audio_segment.py", line 366, in from_file
    file = _fd_or_path_or_tempfile(file, 'rb', tempfile=False)
  File "C:\Users\User\AppData\Roaming\Python\Python35\site-packages\pydub\utils.py", line 59, in _fd_or_path_or_tempfile
    fd = open(fd, mode=mode)
OSError: [Errno 22] Invalid argument: 'D:\my path\rec.mp3'

with AudioSegment.ffmpeg :

  warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
Traceback (most recent call last):
  File "D:/dt/PyCharm_project/0_ASK.py ", line 12, in <module>
    rec = AudioSegment.ffmpeg ("D:\my path\rec.mp3")
TypeError: 'str' object is not callable

with AudioSegment.converter:

RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
  warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
Traceback (most recent call last):
  File "D:/dt/PyCharm_project/0_ASK.py", line 15, in <module>
    rec = AudioSegment.converter ("D:\my path\rec.mp3")
TypeError: 'str' object is not callable

不确定也许是网络浏览器,但如何安装它?

import webbrowser
webbrowser.open("D:/my path/rec1.mp3")

这里同样的问题。它适用于播放声音1.2.1 https://pypi.python.org/pypi/playsound/1.2.1 for me.

安装:

$ pip install playsound

测试:

>>>from playsound import playsound
>>>playsound('/path/to/a/sound/file/you/want/to/play.mp3')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何播放 mp3 的相关文章

  • 对 Pandas DataFrame 进行类型检查

    我想对 Pandas DataFrames 进行类型检查 即我想指定 DataFrame 必须具有哪些列标签以及哪种数据类型 dtype 存储在其中 一个粗略的实现 受此启发question https stackoverflow com
  • Django 2.0 haystack 更新索引,重建索引抛出错误

    我使用 django 2 0 和 haystack whoosh 作为搜索 我按照文档中的说明进行配置 发生的问题是当我跑步时 manage py rebuild index它显示此错误 Traceback most recent call
  • ValueError:没有为“dense_input”提供数据

    我正在使用以下简单的代码使用tensorflow加载csv并使用keras执行建模 无法弄清楚这个错误 import tensorflow as tf train dataset fp tf keras utils get file fna
  • matplotlib 图形的乳胶渲染文本中的中心标题

    我想将 Matplotlib 图形的标题居中 其中在渲染 LaTeX 样式时包含换行符返回 在标题中间插入 Latex 的简单返回代码可以工作 但不会使其居中 从而导致换行符从第一行尴尬地移动 from matplotlib import
  • 生成二叉树的所有从根到叶的分支

    抱歉 如果这是一个常见问题 但我还没有找到适合我的特定问题的答案 我正在尝试实施一个walk方法将二叉树从根节点遍历到每个叶节点 每当到达叶节点时都会生成根到叶路径 例如 遍历表示为的二叉树 a b d c 会产生 a b c a d 我的
  • 如何调整 Seaborn 箱线图中胡须的大小?

    我想在下面的箱线图中使须线更宽 import pandas as pd import numpy as np import seaborn as sns import matplotlib pyplot as plt data pd Dat
  • 如何使用 BeautifulSoup 从表中选择特定行?

    So I have a question related to a previous question but I realized I needed to go one level more to get an 11 digit NDC
  • 芹菜中未处理的异常冻结了工人

    我通过 redis 后端在 docker 中运行 celery 我有 芹菜搅拌容器 芹菜工人容器 Redis容器 celery 工作容器生成 6 个工作进程 如果 celery 任务遇到异常 工作人员 所有工作人员 将停止使用作业 我尝试稍
  • 如何在PIL中从ImageDraw中获取图像?

    我在我的项目中使用 PIL 并且有 ImageDraw 对象 我想获取在 ImageDraw 对象上绘制的图像 我如何获取图像 这是你想要的 from PIL import Image ImageDraw im Image new RGBA
  • 如何在 MacBook Pro 上的 Docker 容器内运行 tkinter?

    我正在尝试运行一个使用以下命令的 python GUI 应用程序tkinter我的 MacBook Pro 上的 docker 容器内的模块 所以我安装了XQuartz https www xquartz org 并跟随本教程 https
  • Python排序算法[重复]

    这个问题在这里已经有答案了 我在Python中实现了不同的排序算法 以更好地理解它们 我想知道Python的内置排序方法实现什么类型的排序 这是一个叫做Timsort http en wikipedia org wiki Timsort由
  • 更新到 Django 1.8 - AttributeError: django.test.TestCase 没有属性 'cls_atomics'

    我将 Django 1 7 项目更新为 Django 1 8 现在运行测试时出现错误 它们是 Django 的子类 django test TestCase Traceback most recent call last File env
  • 无法在 virtualenv 中安装 libxml2

    我有一个问题libxml2蟒蛇模块 我正在尝试将其安装在python3 虚拟环境使用以下命令 pip install libxml2 python3 但它显示以下错误 Collecting libxml2 python3 Using cac
  • 在请求中设置端口

    我正在尝试利用cgminer使用 Python 的 API 我对利用requests图书馆 我了解如何做基本的事情requests but cgminer想要更具体一点 我想缩小 import socket import json sock
  • 在 pygame 中添加/创建下拉选择框的提示

    我正在 pygame 中制作一个游戏 需要有一个下拉框和单选按钮来选择选项 任何有关如何进行此操作的提示将不胜感激 Regards 我建议为图形 UI 元素实现一个类 该类有一个构造函数 init 定义所有必需的属性和所有必需的状态 ADr
  • 没有名为“PIL”的模块

    当我尝试时遇到错误 from PIL import Image ImageFilter 在 Python 文件中我收到一条错误消息ModuleNotFoundError No module named PIL 到目前为止 我已经尝试卸载 重
  • Python中Decimal类型的澄清

    每个人都知道 或者至少 每个程序员都应该知道 http docs oracle com cd E19957 01 806 3568 ncg goldberg html 即使用float类型可能会导致精度错误 然而 在某些情况下 精确的解决方
  • 我怎样才能更多地了解Python的内部原理? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我使用Python编程已经有半年多了 我对Python内部更感兴趣 而不是使用Python开发应用程序
  • gitlab-ci 的缓存虚拟环境

    我使用 Gitlab CI 脚本缓存了 Pip 包 所以这不是问题 现在我还想赶上Conda虚拟环境 因为它减少了设置环境的时间 我缓存了一个虚拟环境 不幸的是 最后需要很长时间才能缓存所有 venv 文件 我尝试仅缓存 CI PROJEC
  • 限制 django 应用程序模型中的单个记录?

    我想使用模型来保存 django 应用程序的系统设置 因此 我想限制该模型 使其只能有一条记录 极限怎么办 尝试这个 class MyModel models Model onefield models CharField The fiel

随机推荐