💓心拍数
BDでライブ映像を再生しながら自分の心拍数を見たかったので、作った。
📦ソースコード
https://github.com/mzp/HeartVoice
🚀目標: 心拍数とBDの同時再生
💎アイマスハッカソンに書いた心拍の再現と動機は同じ。
再生時刻との同期には技術的困難がいくつかあるので、まずは現在の心拍数を表示するようにした。
🛠仕組み
- AppleWatchを使って心拍数を取得する。 ここはcoolioxlr/watchOS-3-heartrateが参考になった。
- 測定した心拍数をiPhoneに送信する。 ここはアイマスハッカソンのときと同様にWatch Connectivityを使った。
- iPhoneからmacOSに心拍数を転送する。 ここはP2P通信を実現するMultipeer Connectivityを使った。
🚧開発中の様子
妄想で書いたデザイン。 ペンライトを振る数も出したいなーとか考えてた。
AppleWatchで心拍数が取れるようになった。絵文字を使うと、画面が華やかになってよい。
表示の仕方を気にせずにmacOS上に心拍数を表示するようにした。
心拍数を扱うのが初なので、いろいろ悩んだ。
心拍数、自分の意思で変化させれないので、もろもろの動作確認がダルいです
— mzp (@mzp) 2017年12月27日
心拍数管理クラス、singletonになった。心臓一個しかないし。
— mzp (@mzp) 2017年12月28日
ウインドウを透過したり、文字色を変更した。
💖所感
いくつかの要因でデバッグが大変だった。
- watchKitアプリの転送は時間がかかる
- 心拍数の計測にはある程度の時間がかかる
- 心臓の速度は自分の意思では変化させれない
- 3つのアプリが連動しているので、原因特定が難しい。
アプリとしての課題もいくつかあった。
- BD再生をフルスクリーンで行なった上で、さらにその上に心拍数を表示するのは難しそう。
- 接続がうまくいかなかったときのハンドリングが大変そう。