来自播放列表的PyQT5媒体播放器

时间:2017-09-12 12:24:26

标签: python qt pyqt media-player playlist

我在做这项工作时遇到了一些问题。我想用播放列表播放音频文件。这是我的代码:

  <div class="pg-LandingHero">
    <div class="pg-LandingHero_Inner">
      <header class="pg-LandingHero_Header">
        <p class="pg-LandingHero_Kicker">This is kicker text</p>
        <h1 class="pg-LandingHero_Title">This is an image title</h1>
      </header>
      <div class="pg-LandingHero_Body">
        <div class="pg-LandingHero_Columns">
          <div class="pg-LandingHero_Column pg-LandingHero_Column-content">
            <p class="pg-LandingHero_Text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras sed sapien quam. Sed dapibus est id enim facilisis, at posuere turpis adipiscing. Quisque sit amet dui dui.Duis rhoncus velit nec est condimentum feugiat. Donec aliquam augue nec gravida lobortis. Nunc arcu mi, pretium quis dolor id, iaculis euismod ligula. Donec tincidunt gravida lacus eget lacinia.</p>
            <a href="#" class="pg-LandingHero_Link">This is a link</a>
          </div>
          <div class="pg-LandingHero_Column pg-LandingHero_Column-image">
            <div class="pg-LandingHero_Item">
              <div class="pg-LandingHero_ImageContainer">
                <div class="pg-LandingHero_Image">
                </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>

问题在于,当我将文件作为唯一媒体源(player.serMedia())提供时,它可以正常工作,但是当我运行上面的代码时,音乐无法播放!

这里的问题是什么?

2 个答案:

答案 0 :(得分:0)

在qt论坛中搜索后的答案是我在创建播放列表时没有提供播放器对象。

        playlist = QMediaPlaylist(player)

答案 1 :(得分:-1)

'''如何像播放列表一样工作,将歌曲尽可能多地添加到播放列表中,并在点击时自动直接从播放列表中播放''' def open_dialog_box_for_playlist(self): 文件名= QFileDialog.getOpenFileName() 路径= str(文件名[0]) 播放列表= QMediaPlaylist(self.media_player) 网址= QUrl.fromLocalFile(路径) playlist.addMedia(QMediaContent(url)) song__playlist = str(播放列表) 打印(“歌曲列表为”,类型(歌曲__播放列表)) self.media_player.setPlaylist(播放列表) self.media_player.playlist()。setCurrentIndex(0) self.media_player.play() print(“这是播放列表::::”,播放列表)

    model = QtGui.QStandardItemModel()
    self.listView.setModel(model)
    for i in song__playlist:
        item = QtGui.QStandardItem(i)
        model.appendRow(item)