https://github.com/fairydevicesrd/thinklet.app.lifelog
THINKLET ライフログアプリ
https://github.com/fairydevicesrd/thinklet.app.lifelog
lifelog thinklet
Last synced: 9 months ago
JSON representation
THINKLET ライフログアプリ
- Host: GitHub
- URL: https://github.com/fairydevicesrd/thinklet.app.lifelog
- Owner: FairyDevicesRD
- License: mit
- Created: 2025-02-25T08:35:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-25T08:40:43.000Z (over 1 year ago)
- Last Synced: 2025-06-15T13:56:29.213Z (about 1 year ago)
- Topics: lifelog, thinklet
- Language: Kotlin
- Homepage:
- Size: 111 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LifeLog
最大8時間の無充電連続稼働可能な THINKLET向けのカメラ撮影,録音アプリです.
ある程度Activityにベタ書きもできるように設計しています.
## 開発時
- Android Studio Ladybug Feature Drop | 2024.2.2
# インタフェース
- 起動時の引数として以下をサポートしています.
| パラメータ | 型 | デフォルト | 説明 |
| ----------------- | ----------------- | ---------- | ------------------------ |
| `longSide` | String or Int | 640 | 撮影する画像の長辺 |
| `shortSide` | String or Int | 480 | 撮影する画像の短辺 |
| `intervalSeconds` | String or Int | 300 | 撮影間隔の秒数.最小10. |
| `enabledMic` | String or Boolean | false | 録音を有効化します |
> [!NOTE]
> `longSide` と,`shortSide` はなるべくその大きさになるように指定するものです.サポートされていない組み合わせの場合,最も近い解像度に変更されます.
# 機能
## 定期撮影
- 定期的に撮影し,Gifファイルに書き出します.
- 書き出しファイルは,最大で600枚の画像撮影ごとに別ファイルに切り替えます.
## (オプション)録音
- 5chマイクを用いて録音し,2chの48kHzのRawファイル形式で保存します.
- 使用すると,消費電力が増加します.
- 書き出しファイルは,最大で1GByteごとに別ファイルに切り替えます.
## MTP公開
- 利用を簡便化するために,保存したデータをMTPモードで公開できるようにしています.
- `/内部ストレージ/DCIM/lifelog/20241122/20241122_085125.gif` のようなPathに保存されます.
> [!TIP]
> THINKLETでは,以下のコマンドを実行することで,MTPモードへ一時的に切り替えることができます.
> `adb shell svc usb setFunction mtp true`
# 開発
- `local.properties` に以下を追記します.GithubPackagesにあるライブラリを取得するために使います.
```diff
# GitHub Packages経由でライブラリを取得します.下記を参考にアクセストークンを発行ください.
# https://docs.github.com/ja/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
# read:packages の権限が必須です
+ TOKEN=
+ USERNAME=
```
- 画像などをアップロードしたいときは,`MicRecordUseCase.kt`, `SnapshotUseCase.kt` の下記の部分で,ファイル保存が完了したときのイベントが記述できます.ここに追記や拡張することで実現できます.
```kotlin
gifEncoderRepository.savedEvent {
Log.i(TAG, "savedEvent gif: ${it.absoluteFile}")
fileSelectorRepository.deploy(it)
}
```
```kotlin
audioCaptureRepository.savedEvent {
Log.i(TAG, "savedEvent mic: ${it.absoluteFile}")
fileSelectorRepository.deploy(it)
}
```
- インストールは,AndroidStudio あるいは,`./gradlew installDebug` 等で行います.
- 実行前に,[scrcpy](https://github.com/Genymobile/scrcpy) を用いて,設定アプリからすべてのPermissionを許可します.
# KeyConfig
- [開発者ポータルのKeyConfig](https://fairydevicesrd.github.io/thinklet.app.developer/docs/keyConfig/) を使ったキーコンフィグ設定例です.
- `adb push 1440_1080.json /sdcard/Android/data/ai.fd.thinklet.app.launcher/files/key_config.json && adb reboot` で設定可能です.
- [1440x1080 マイク無し](./keyConfigs/1440_1080.json)
- [2592x1944 マイクあり](./keyConfigs/2592_1944_withMic.json)