読者です 読者をやめる 読者になる 読者になる

opamp_sando's blog

クソザコが割りと適当なことを書くためにある備忘録です。あとたまに普通の日記も書きます

Qt5で音楽再生

Qt4で作ってたgat2で音楽再生はPhonon使ってたけど動かなくなったのでちょっと修正してきた。
Qt5ではQMediaPlayerを使うとおkっぽい。ていうか多分Qt4からあったような...?

QMediaPlayer* player = new QMediaPlayer();
player->setMedia(QUrl::fromLocalFile("/path/to/audio/file");
player->setVolume(100);
player->play();

これだけ。ちなみに高度なことに、playerがplayで音楽をすでに再生している状態でsetMediaを変更しplayし直すと現在の曲をちゃんと止めて新しいファイルを再生してくれる。
MediaPlayerなだけのことはある。簡単なMediaPlayerならこれで作れそうな感じ。

でもこれってphonon同様に対応ファイル形式は実行環境依存なのかな?
なんか実行環境に依存するってどうなんだろうと思うけど。どこかで褒めてる記述とか見たことあるけど、ぶっちゃけ作る側としてはQtがある程度メジャーなオーディオ形式に対応してどの環境でも同様のファイルが再生できたほうがおいらとしては嬉しい。まあでもやっぱmp3とかaacとかはライセンス云々でそう簡単でもないのかな。
まあ、wavとか使っていけば大丈夫といえば大丈夫だけどさ。vorbisとか対応すればなぁと思う今日このごろ。


余談だけど、gat2も3.0.0とか大規模に変更したの作ってみようと思いつつ結局去年から作業が進んでない。しかも、このソフト我ながらに結構なスパゲッティーソースというか変数やら関数やらのネーミングがひどいというか。もうちょっと綺麗に書きなおしたい...
ある程度まとまった時間とやる気がなければできないな... とりあえず、予定なかったけど2.6.0としてQt5対応版を出したのでそれを使えば今まで通り動くと思う。
Qt4で使うなら一個前のバージョンをタグで選んでビルドすれば動く... 機能的には全く一緒だからね。Qt5かQt4かの違いくらいしかない。

Firefox ブラウザ無料ダウンロード