2017-09-12 3 views
0

私はこの作品を作るいくつかの問題があります。私はオーディオファイルを再生するためにプレイリストを使用したいと思う。ここに私のコードは次のとおりです。プレイリストのPyQT5メディアプレーヤー

playlist = QMediaPlaylist() 
url = QUrl.fromLocalFile("/home/user/Downloads/ss.mp3") 
playlist.addMedia(QMediaContent(url)) 


player.setPlaylist(playlist) 
player.playlist().setCurrentIndex(0) 
player.play() 

の問題は、私はファイルとして独自のメディアソースを供給する場合(player.serMedia())、それは動作しますが、私は上記のコードを実行すると、音楽が再生されません!

ここで問題は何ですか?

+0

私にとってはうまく動作します。たぶん、問題を示す完全で実行可能な例を投稿するべきでしょう。 – ekhumoro

+0

私はただ問題を理解しました。私はその答えを掲示した。 – pythonner

答えて

0

qtフォーラムで検索した後の答えは、プレイリストを作成するときにプレイヤーオブジェクトを提供しなかったことです。

 playlist = QMediaPlaylist(player) 
+0

それは本当の理由ではありません。あなたのアプリケーションでは、プレイリストがその所有権を持たないため、プレイリストへの参照を保持する必要があります。あなたが範囲外に出るのを許せば、Pythonはそれをガベージコレクトします。これを修正する1つの方法は、プレイリストを親にすることです(どのような 'QObject'でも行います - プレイヤーである必要はありません)。しかし、それを単に属性として保存することもできます。 – ekhumoro

+0

ああ、そうですね。今は私には明らかです。ありがとう! – pythonner