7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめてのWindowsデスクトップアプリを作ってみた。

7
Posted at

人生で初めてのWindowsデスクトップアプリケーションを自作してみました。
自分音楽が結構好きで、こういうものがあったら便利だったりするのかな?
と思い、作ってみました。

どんなアプリなのか

アプリの内容としては、

  • yt-dlpでユーザーが指定したURLの動画を落としてくる
  • それと、ユーザーの持っているリファレンスの音源を比較してYoutube音源との差分を出す。

というないようのアプリになります。
下記の投稿のように、波形を出して

スクリーンショット 2026-01-31 14.09.36.png

自分の音源と、リファレンスの音源を調べるというものになります。

このアプリを作る際に考えなければならなかったこと

PythonのFletで音楽を再生する場合、使うユーザーの競合している音声出力ドライバと、このPythonのアプリが競合してしまうと、このアプリで音が出なくなったりもしくはアプリ自体がクラッシュしてしまうので、どうすればいいのかがわからない状態になっていました。

FFmpegのライセンス

FFmpegは基本的にそのまま同梱して使うことがライセンス上できません。
ですが、LGPL版を入れてそのFFmpegのexeファイルを同梱してアプリにすることは問題ないのですが、間違ってGPL版を入れてビルドしてしまうところだったことがあり、めっちゃ焦りました・・・・w

波形自体の軽量化

実は大抵の音響アプリ自体には、波形をすべて性格に出しているわけではなくて、大雑把に切り捨てをしています。
なぜならそうしないと描画する際のメモリがとんでもない大きさになってしまうからです。
ですので、ある程度の大きさで波形の描写をカットするようにするべきだったなと考えるべきでした。

アプリのテスト体制

FletはWebアプリと違ってSeleniumを使うことがデスクトップアプリのモードだと原則できません。
(Webアプリのモードだとできるのかはわからないけど)。

画面のテストが基本的にこいつ無いみたいでロジックのテストしかできないので、ロジックのテストしかできないという問題があります。
ほかのWindows環境で動かしたときに画面のテスト不足でアプリがクラッシュしたことが多くありました。
エラーハンドリングは大事ですね・・・。

以上になります。
もし質問がありましたらコメントまでお願い致します。

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?