今回は、ラズパイ上で動くメディアプレーヤーを作成しようと思います。
経緯
本当はYoutubeを再生するアプリを作成しようとしたのですが、これを設計している最中に「作成していく途中で結局メディアプレーヤーを作ることになるな・・・」と思い、このようになりました。
開発準備
いつも通りに、Eclipseを使用します。
そして、セットアップ関連はこちらの記事を参考にしてください。
Windows版はこちらの記事でEclipseのインストールを行いました。
ラズパイで動かす
今までにラズパイ上で動かすため、Eclipse Kuraのセットアップに挑戦していましたが、ちょっとこちらをストップ。
シンプルにJavaSE(JDKに入っているAPI)で進めてみようと思いました。
JavaSEはラズパイだろうが、PCだろうが、Arduinoだろうが動かすことができます。
ただし、Bluetoothなどのデバイスにアクセスしたい場合には、以下のような手間があります。
- ちょっとしたライブラリを使用
- 自分でデバイス用のプログラムを書く
なので、今回はそれらを使用しない方法でやろうと思います。
つまり。。。
JavaSEでの開発
Java 8 以降、JavaSEにはJavaFX(画面作成API)が梱包されているので、そのまま使用することができます。
具体的には下のようなコンポーネント(画面とか、ボタンとか)をJavaで作成、動かすことができます。
下のものは JavaFXでのサンプルアプリです。
そして、自分が作成したものです。
これらは、Javaのみで(PCに付けたUSBとかディスプレイなど)にアクセスしないで起動できるのでJavaSEのみで作成、起動することが可能です。
と言うわけでJavaFXでの開発方法を以下にまとめます。
開発方法
実際に開発するのには、手間が少ない方が良いです。(みんなそう思うし、時間ができれば色々なことができます)
なのでなるべくなら「手間を少なく」「良いアプリを作る」ここら辺に注力して準備を進めたいと思います。
- NotePCでのEclipseでの開発(プログラム作成)
- NotePC上でテスト(ローカル・テスト)
- RPi上でテスト(実機テスト)
こんな感じで開発を進めたいのですが、これを実現するためにMavenを使用します。
英語のサイトなので日本語訳してみます(最近のものは意味がわかるようになってきています)
まとめると下のようになります。
- Eclipseにプロジェクトを作成する
- Githubにリポジトリを作成する
- NotePC上でテストしたコードをコミット(PUSH)
- ラズパイでGithubからPULLしてソースを取得
- Mavenビルドで起動ファイル(*.JAR)を生成
- ラズパイのSHELLでOS起動時に動かす
まずはNotePCで動かす
そんなわけで、NotePC上で開発を始めます。ちなみに、上の手順「4」の確認は行いました。ハローワールドプログラムを起動することに成功しています。JavaFXも起動確認済みです。ただし、Xサーバー(GUIサーバー)を起動する必要があるのでラズパイをCUIモードで動かすとJavaFXが動きません。。。
ちょっと長くなってきたので、今回はここまでにします。
でわでわ。。。