Pyhon:PyQt5 QMediaPlayer 错误解决

调试了一上午,然后各种查询,错误还算是解决了。
错误代码:

    def PlayMp3(self):
        self.player = QMediaPlayer()    
        self.player.setMedia(QMediaContent(QUrl.fromLocalFile("D:\Python\01.mp3")))
        #self.player.setVolume(25)
        self.player.play()  

错误提示:

DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x8007007b (??????????????????????????)

错误一般代表:路径错误或者底层库错误,底层库为:LAV filter,需要安装。
解决方案:

    def PlayMp3(self):
        self.player = QMediaPlayer()    
        self.player.setMedia(QMediaContent(QUrl.fromLocalFile("D:\\Python\\01.mp3")))
        #self.player.setVolume(25)
        self.player.play()      
    def PlayMp3(self):
        self.player = QMediaPlayer()    
        self.player.setMedia(QMediaContent(QUrl.fromLocalFile("D:/Python/01.mp3")))
        #self.player.setVolume(25)
        self.player.play()  

各种搜索问题,很奇怪。
在Qt(C++)官方例子中,代码样例如下:

player = new QMediaPlayer;
connect(player, SIGNAL(positionChanged(qint64)), this, SLOT(positionChanged(qint64)));
player->setMedia(QUrl::fromLocalFile("/Users/me/Music/coolsong.mp3"));
player->setVolume(50);
player->play();

我通过读取文件,打印路径时,打印如下;

D:\Python\ui.py

之前读取本地图片是写过如下代码,测试:

self.m_photo = PhotoImage(file = "D:\Python\\66logo.png")
self.m_label = Label(self,text = "Python学习",font = ('Arial', 15),bg= "blue",fg = "red",width = 240,height = 200,compound = CENTER)

然后再次 测试,代码如下:

    def PlayMp3(self):
        self.player = QMediaPlayer()    
        self.player.setMedia(QMediaContent(QUrl.fromLocalFile("D:\Python\\01.mp3")))
        #self.player.setVolume(25)
        self.player.play()  

问题原因:在 Python中,’\0’,或者’\x’……等等一系列表示特殊字符,需要所以需要转义‘\x’,以后注意。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值