目次
Music Player2 for Android Wear
- Android Wear 5.0 以上
Link
はじめに
Android Wear 単体で音楽再生を行うオフライン音楽プレイヤーアプリです。
- 曲データを Android Wear デバイスに転送し、Smartphone や Tablet 無しに Android Wear (腕時計側) だけで音楽を聴くことができます。
2014年10月に Android 4.4W.2 への更新が行われ、Android Wear に音楽再生機能が追加されました。 ところが日本ではサービスに対応していないらしく Google Play ミュージックではファイルの転送や再生ができません。 そこで Android Wear 向けの簡単なミュージックプレイヤーを作ってみました。
Android Wear デバイスにはヘッドホン端子がありませんので、音楽の再生には Bluetooth 機器が必要です。 Bluetooth スピーカーや Bluetooth ヘッドホンなどをあらかじめペアリングしておいてください。
- v2 更新履歴
- 2015/02/08 v2.0.1 : レイアウトの調整
- 2015/02/07 v2.0.0 : 転送途中の曲再生に対応するためデータの構造を変更。通知領域での簡易操作に対応。曲名の表示。v2 は v1 と別アプリケーションとなっています。
- v1 更新履歴
- 2015/02/02 v1.1.1 : メモリリークバグ修正、丸型画面に対応
- 2015/01/01 v1.0.1 : 同期リスト追加時に、高ビットレートまたは長い曲データが含まれていると Java Heap があふれる可能性があったため修正。
- 2014/11/24 v1.0.0
v2 の改良点
v1 ではデータ転送中に曲を再生することができませんでした。一度に大量のデータを転送した場合長時間操作不能となり、いつ転送が終わるのか分からない点も問題でした。
v2 ではデータ構造を変更し、転送途中でも完了した曲があればすぐに再生できるようになっています。
その代わり構造が変わったため v1 とは互換性がありません。 すでに転送済みの曲データがあっても再生できず、Android Wear への再転送が必要となってしまいます。
そのため v2 は別アプリケーションにしています。 すでに転送済みの曲データがあり、特に問題なく利用できている場合はそのまま v1 をお使い下さい。
対応デバイス
- Android Wear 5.0 以上の Android Wear デバイスが必要です。
- また音楽再生には Bluetooth ヘッドホンなどの Bluetooth 機器が必要です。
LG G Watch (LG-W100) + SONY MDR-EX31BN で動作確認しています。
使い方
あらかじめ Android Wear 側に再生する音楽データを転送しておく必要があります。
転送方法
- スマートフォン (タブレット) 側で、この Music Player for Android Wear を開いてください
- スマートフォン、タブレットの中にある音楽ファイルを選んで「同期リスト」に追加します。
- 同期リストのファイルは、バックグラウンドで可能なタイミングで Android Wear デバイスへの転送が行われます。アプリを閉じていても問題ありません。
- 転送が完了すると再生できるようになります。
注意点! Bluetooth による転送は非常に時間がかかります。最初は 1 ~ 2 ファイルの少ないデータで試してください。
- v2 MusicPlayer2 for Android Wear では転送途中でも、完了したファイルから再生できます。
- v1 MusicPlayer for Android Wear では転送が始まるとロックされ、すべてのデータの転送が完了するまで再生できなくなります。ご注意ください。
再生
Android Wear デバイス側で、この Music Player for Android Wear を開いてください。 機能は最小限です。 常にシャッフル再生となります。
Play / Pause / Resume | 音楽の再生。一時停止とその解除 |
Stop | 再生の停止。データ更新の取得 |
Vol + | ボリューム調整 |
Vol - | ボリューム調整 |
Prev | 一つ前の曲に戻る |
Next | 次の曲に進む |
Refresh / 表示の更新 | 転送済みの曲情報を読み直す |
携帯端末で転送ツールを開く | スマートフォン、タブレット側の Music Player for Android Wear を起動します。 |
- 音量にご注意ください。
- 新規に転送したデータを再生するには、一旦 Stop してから Play し直すか 「 Refresh / 表示の更新 」 を行ってください。
HOME 画面の通知領域で、再生と一時停止、ボリューム調整ができます。
同期リストの管理
- 同期リストにファイルを追加した時点ですぐに、Android Wear への転送対象となります。
- 実際の転送は、Android Wear デバイスと転送可能な状態になった時にバックグラウンドで行います。そのため残念ながらいつ実際の転送が行われているかを直接確認することができません。
- 大量のファイルを一度に追加すると、同期が完了するまでかなり時間がかかると思われます。ご注意ください。
- なお MusicPlayer2 for Android Wear v2 では、転送途中でも、完了した曲からすぐに再生できるよう改良されています。(v1 ではロックされるのですべてのデータ転送が終わるまで再生できませんでした)
- 同期リストからファイルを削除すると Android Wear 側からもデータを削除します。スマートフォン内の元のファイルが消えるわけではありませんのでご安心ください。
- アプリケーションを削除すると、同期したファイルも Android Wear 端末から削除されます。
動作の詳細
転送データの構造
Android Wear の DataApi を使って同期オブジェクトとして登録しています。オフライン状態でもいつでも登録が可能で、通信可能な状態になったタイミングで同期が行われます。
転送を完全に Android のシステム任せにすることができる反面、アプリケーションに付随する asset としての位置づけになっています。そのため他のアプリケーションから参照できるような汎用的な構造にはなっておりません。
一時停止と完全な停止の違い
Pause (一時停止) ではその場から再開できるようにプレイヤーのインスタンスが残っています。
Stop (停止) では、可能な限り必要なインスタンスを解放する構造になっています。可能な場合 Player のバックグラウンドサービスも停止させます。
注意点
- Bluetooth による転送は遅いので、曲データのアップロードには時間がかかる可能性があります。
- MusicPlayer2 for Android Wear v2 では転送時のロック問題が改善されています。
- 再生を行うと Bluetooth の通信も行われますし、CPU が完全に Sleep 状態に移行しなくなるようです。バッテリー消費が大きくなりますので予めご了承ください。