昨天用PyQt5的QtMultimedia模块播放音乐时,单独使用可播放,放代码里结合使用死的播放不了。以下是测试demo可播放代码:

# -*- coding: utf-8 -*-
# Nola
from PyQt5 import QtWidgets, QtCore, QtMultimedia
import sys app = QtWidgets.QApplication(sys.argv)
url = QtCore.QUrl.fromLocalFile(r"D:\project\pyqt5_tutorial\Umusic\music_datas\Walk Off the Earth、Jocelyn Alice、Krnfx - Havana.mp3")
content = QtMultimedia.QMediaContent(url)
player = QtMultimedia.QMediaPlayer()
player.setMedia(content)
player.setVolume(50.0)
player.play()
sys.exit(app.exec())
# -*- coding: utf-8 -*-
# Nola
from PyQt5 import QtWidgets, QtMultimedia
from PyQt5.QtCore import QUrl
import sys class MainUi(QtWidgets.QMainWindow): def __init__(self):
super().__init__()
self.init_ui() def init_ui(self):
button1 = QtWidgets.QPushButton("button1",self)
url = QUrl.fromLocalFile(r"D:\project\pyqt5_tutorial\Umusic\music_datas\出逃 - 罗之豪.mp3")
content = QtMultimedia.QMediaContent(url)
self.player = QtMultimedia.QMediaPlayer()
self.player.setMedia(content)
button1.clicked.connect(self.playmusic) def playmusic(self):
self.player.play() def main():
app = QtWidgets.QApplication(sys.argv)
gui = MainUi()
gui.show()
sys.exit(app.exec_()) if __name__ == '__main__':
main()

  看似简单的几行代码,放到代码里后,打印QtMultimedia.QMediaPlayer.MediaStatus() 输出一直是0--> UnknownMediaStatus,未知的状态。

  在github上找到一位大神用PyQt5仿了网易云音乐,看他的代码是另外创建个播放器类继承QMediaPlayer:

  创建个单独的Player类,两个方法play_music和pause_music,放代码里调用还是无法播放,在play处try没有任何报错,调试也没找到错误,最怕的就是什么都不输出。。。

  今早,仔细看了下以上两个可运行的demo,QMediaPlayer的实例化应该在setupUi初始化后,完美有声音了,play和pause正常运行。代码如下:

class MyPlayer(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super(MyPlayer, self).__init__()
self.setupUi(self)
self.setWindowTitle("Umusic")
self.setWindowIcon(QIcon("MusicCloud.ico"))
self.played = QtMultimedia.QMediaPlayer()
self.played.setVolume(50.0)
...

  

PyQt5之QtMultimedia模块音乐播放没声音已解决的更多相关文章

  1. Mac电脑没声音了怎么办?苹果电脑没声音的解决方法

    在使用Mac电脑的过程中,偶尔会出现电脑没声音?发出奇怪的声音?连接外部音频设备出问题等音频故障,遇到这种情况该怎么办呢?小编有妙招! 检查音量 首先检查Mac是否被静音,按住F12快捷键或滑动菜单栏 ...

  2. ubuntu 16.04安装好后没声音的解决方法

    刚安装好Ubuntu16.04 后没声音,找了好多方法都不行,看到网上说通过安装pavucontrol和alsamixer调节解决,最后无意发现一个方法,总算是可以用了,在此记录一下.可能有的可以解决 ...

  3. 吉他软件Guitar Pro播放无声音的解决方法

    系统环境:适用于Windows操作系统和macOS的Guitar Pro . 问题表现:已成功安装Guitar Pro ,但用Guitar Pro 播放时没有任何声音或播放失真. 解决方案:首先确保安 ...

  4. Macbook pro睡眠状态恢复后没声音的解决办法

    杀招: sudo killall coreaudiod macos会自动重启进程,恢复声音

  5. Android使用的webcview中带有音乐播放控件,在关闭或分享时处于界面不可见状态下,声音仍在播放的问题解决

    一. 问题出现原因         我们在做APP分享时,分享webview加载带有音乐播放控件的网页.当弹出分享界面,webview的网页处于后台状态或关闭该网页时,音乐声仍在播放.出现该类现象使我 ...

  6. 基于Qt Phonon模块实现音乐播放器

    这次使用Qt实现的是一个本地音乐播放器,可以播放下载在计算机本地的音乐,提供了添加歌曲,歌曲列表,清空列表的功能.默认歌曲列表循环播放.音乐播放的实现主要依赖的是Qt 的多媒体框架phonon.该音乐 ...

  7. MUI音乐播放html5+audio模块

    html5+ audio 模块MUI播放音频 Audio模块用于提供音频的录制和播放功能,可调用系统的麦克风设备进行录音操作,也可调用系统的扬声器设备播放音频文件.通过plus.audio获取音频管理 ...

  8. Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果

    目前Android的实现是:有来电时,音乐声音直接停止,铃声直接直接使用设置的铃声音量进行铃声播放. Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果. 如果 ...

  9. Android学习笔记_24_多媒体MediaPlayer对象之音乐播放器与SoundPool声音池

    一.MediaPlayer对象常用方法介绍: MediaPlayer mediaPlayer = new MediaPlayer(); if (mediaPlayer.isPlaying()) { m ...

随机推荐

  1. ios 接入微信开发 新版

    首先在服务器所在域名(https://www.test.com)根目录创建apple-app-site-association文件 { "applinks": { "ap ...

  2. itext实现横向pdf打印内容

    Document doc = new Document(PageSize.A4); 这个是用PageSize.A4设置的是纵向A4大小 进入 com.itextpdf.text.PageSize的源码 ...

  3. 关于 Xpath 定位

    关于 Xpath 定位 问: // 和 / 的区别 表达式 描述 nodename 选取此节点的所有子节点. / 从根节点选取. // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置. . ...

  4. IMX6Q开发板Linux-QT挂载U盘及TF卡

    本文基于:迅为-iMX6开发板Linux-QT挂载U盘及TF卡 如下图所示,qt 启动之后,在超级终端中使用命令“mknod /dev/sda1 b 8 1”创建 U盘的设备节点,如下图所示. 插入 ...

  5. 吴裕雄--天生自然python机器学习:基于支持向量机SVM的手写数字识别

    from numpy import * def img2vector(filename): returnVect = zeros((1,1024)) fr = open(filename) for i ...

  6. G - Radar Scanner Gym - 102220G(中位数~~)

    zThere are n rectangle radar scanners on the ground. The sides of them are all paralleled to the axe ...

  7. centos telnet

    yum install telnet yum install telnet-server

  8. linux 上安装 keepalive

    1.keepalive 单机安装 1.1 安装环境 yum -y install kernel-devel* openssl-* popt-devel lrzsz openssh-clients li ...

  9. ddt-python测试数据驱动工具(转载)

    背景 python 的unittest 没有自带数据驱动功能. 所以如果使用unittest,同时又想使用数据驱动,那么就可以使用DDT来完成. DDT是 “Data-Driven Tests”的缩写 ...

  10. [LC] 345. Reverse Vowels of a String

    Write a function that takes a string as input and reverse only the vowels of a string. Example 1: In ...