2020年1月10日金曜日

PyQt5 QMediaPlayer イケた (・∀・)ノ


今回QtCreatorやらQMLをいじってるうちにQtのマルチメディア系の機能を知ることになった
以前foobaltを作るときに調べたところでは、Qtはwavにしか対応していなくて使えなかったのでいろいろ探してpythonからvlcを使うことにした経緯だったんだが

でもイケた~┐(´∀`)┌
パイソンのインタラクティブでこんな感じで音が鳴る

from PyQt5.QtMultimedia import QMediaPlayer,QMediaContent
from PyQt5.QtCore import QUrl
player=QMediaPlayer()
player.setMedia( QMediaContent(QUrl.fromLocalFile( r'<fullpath>' )))
player.play()

Qtでイケるんならこっちにしたい
再生中の時間とか演奏の停止とか、シグナルで受けれるみたい
今はタイマーで自分から取りにいってるからもっと簡単に書けそう

ただし今のところmp3は再生できるがaacは出来ない
マニュアルでは対応コーデックは環境依存という事しか書いてなくて、多分winであればwinが対応しているモノ、つまりメディアプレイヤーが再生できるモノって事になると思うんだけど、試してみたらaacはメディアプレイヤーで再生できた
よくわからん┐('д')┌
KCodecをインストすれば良いらしいという情報はあったんだけども
どうしようか迷ってます

そもそも何故今までわからなかったのか
このモジュールがQt4では実装されてないからですね
私が使っていたのはもともとQt5だったんだけど、RiverBankさんのHPにあるPyQtのマニュアルはVer5のものはきちんと記述されてなくて、私はいつもQt4のマニュアルを見ていた
なので、Qt5でマルチメディア系を使えるようになったことを知らなかったわけです
Qt5のマニュアルを見たらマルチメディアの部分は細かい解説があった( ´∀`)
マニュアルだけど、5で新しくなった部分は細かく書くけど、4と同じ部分はそっちを見てねって事だったんだね、まあそれもありですよね

0 件のコメント:

コメントを投稿