今になって、Android SDK の根本的な
「ライフサイクル」
「フラグメント」
「バックスタック」
とかで苦労すること多くなってきました。

👉 Handling Lifecycles with Lifecycle-Aware Components
ライフサイクルやそのオーナーの状況変化具合を眺めながら進みたいですよね?

意外と使える androidx.lifecycle.* 。
今更か。
今になって、Android SDK の根本的な
「ライフサイクル」
「フラグメント」
「バックスタック」
とかで苦労すること多くなってきました。

👉 Handling Lifecycles with Lifecycle-Aware Components
ライフサイクルやそのオーナーの状況変化具合を眺めながら進みたいですよね?

意外と使える androidx.lifecycle.* 。
今更か。
仮想オーディオデバイスと各音声の流れを整理します。
macOS版OBSでは「デスクトップ音声」を受け取ることができません。
一方、「マイク音声」は「Built-in Microphone」として受け取ることができます。

なので、配信時の音声は、「マイク音声」のみとなります。
簡単な図にするとこうなります。

デスクトップ音声も流したいですよね。
そこで、仮想オーディオデバイスを使います。
OBSは仮想オーディオデバイスを受け取ることができます。
今回は仮想オーディオデバイスとして SoundFlower の代替として BlackHole を使います。
インストールすると、BlackHoleを経由したデスクトップ音声をマイク音声2として受け取れるようになります。


この状態では、パソコンのスピーカーからデスクトップの音声は聞こえないので、AUDIO MIDI設定から複数出力装置を作成して内蔵出力(パソコンのスピーカー)にも流れるように分岐します。


これでマイクとデスクトップの音声をOBS経由で配信や録画することができるようになりました。

大まかに各音声の流れを掴みながら細かい設定をしていくと混乱せずに設定していくことができます。
詳細設定は画面キャプを参考にいけると思います。
👉 OBS出力から 仮想カメラ デバイス を作成する【macOS】
👉 【OBS】複数のURL/APIキーを管理させる - YouTube
👉 Soundflower と Audio MIDI設定
👉 How to setup OBS on macOS Catalina using BlackHole - YouTube
ツールなどちょっとしたスクリプトをIDEAの持つ機能を利用しながら書きたいときありません?
プロジェクト化して Git に登録とかせずに、ササッと書いて、実行するだけの場合の話。
ファイル指定でコマンドラインから起動すれば良い!!

👉 Opening Files from Command Line - Help | IntelliJ IDEA
ここに書いてある
Tools | Create Command-line Launcher
からは今は作成できない。


👉 Toolbox App 1.11: What’s New. | JetBrains Blog
Toolbox 設定で [Generate Shell script] で指定した場所に起動シェルスクリプトが書き出される。

Android Studio で、プロジェクトディレクトリの指定でも開ける。
ただのランチャーとしてもどうぞ。
編集したいスクリプトのファイル名を rename_gopro.py とします。
1. idea bin/rename_gopro.py で IDEA を起動する。
2. [File]-[Project Structure] から Project Structure 画面を開く。
3. Platform Settings の [SDKs]-[Python 3.7] を選択する。
4. Project Settings の [Project]-[Project SDk]-[Python 3.7] を選択する。
5. 上部ツールバー内 [Add Configuration...] から Run/Debug Configuration 画面を開く。
6. [+]-[Python] で開いた画面で Script path を入力する。
7. 上部ツールバーから [Run/Debug] する。

ちなみに今回書き出された起動スクリプトは以下。
~/bin/idea
#!/bin/sh
# Generated by JetBrains Toolbox 1.16.1212 at Fri Jan 24 07:08:01 2020
open -a "/Users/maochanz/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/193.1212.39/IntelliJ IDEA.app/Contents/MacOS/idea" "$@"
~/bin/studio
#!/bin/sh
# Generated by JetBrains Toolbox 1.16.1212 at Fri Jan 24 07:08:01 2020
open -a "/Users/maochanz/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/191.1212548/Android Studio.app/Contents/MacOS/studio" "$@"
👉 JetBrains Toolbox で Android Studio の Stable/Beta/Canary が同時に管理できる?
👉 GoPro 分割された動画ファイルの命名規則
久しぶりに「Googleドライブ」と「バックアップと同期」を使ったら意味不明になっていた。
やりたいことは以下3つだけ。
複数パソコン間でのファイル共有。
スマホで撮影した写真・動画ファイルのクラウド保存と共有。
(端末内には保存しない。)
写真はパソコンからも参照。(ダウンロード)
ざっくり曖昧なまま図にしてみた。

そして、「バックアップと同期ツール」の設定を見る。

さらに、ブラウザでGoogleドライブを開く。

あれ、意味がわからない...。
「マイドライブ」
「マイiMac」
って何のことなのか...。
ややこしいので整理してみました。
Googleのクラウドサービスとして「ドライブ」と「フォト」の2つがある。それぞれ個別に運用できる。
👉 マイドライブ - Google ドライブ
👉 Google ドライブ - Google Play のアプリ
👉 フォト - Google フォト
👉 Google フォト - Google Play のアプリ
「バックアップと同期」は、パソコン向けの「ドライブ」ツール。追加機能として、パソコン内の「画像と動画を抽出」してドライブ内指定ディレクトリと同期したり、Googleフォトにアップロードできる。
👉 バックアップと同期のダウンロード - 無料のクラウド ストレージ
複数パソコン内のディレクトリを指定して Googleドライブ で常に同期。
→ 「バックアップと同期」ツールで対応。
スマホで撮影した画像と動画はできるだけ Googleフォト にアップしてスマホからは消す。
→ スマホアプリ「Googleフォト」で対応。
写真や動画の実体はすべてクラウド上だけに置く。パソコン上ではブラウザ版、スマホ上ではアプリ版のGoogleフォトで参照・操作する。



「Googleドライブ」と「Googleフォト」は個別に運用する。
今は、できるだけ分かりやすくシンプルにしておく。
画像の画質やクラウドストレージ内容量やその料金などで細かく設定していこうと思っています。
「マイ ドライブ」とは:
Googleドライブで同期されたディレクトリのクラウド側の呼び名、またはその機能。
「マイ iMac」とは:
パソコン上のディレクトリから画像と動画を自動抽出してGoogleドライブ内に同期する機能のこと。オプションとして、同時にGoogleフォトにもアップロードすることもできる。
(マイノートパソコン/マイパソコン/マイ MacBookPro なども同義。)
これに馴染めず私は混乱していたようです。
Googleクラウド上に保存するファイルサイズを増えさせての有料移行を推しているのだろう。
Google ドライブの言語設定を変更したら「Googleドライブ」と「Google Drive」と同期ディレクトリが2つ作成されていてさらに混乱した。
どちらにしても「日本語カタカナ」と「スペース含み英字」のディレクトリ名になってるのキモス。
「電源ボタン」の長押し
↓
「画面の保存」の長押し
で「画面の録画」ができるようになっております。



まだ、隠している機能のようで、
adb 経由で設定を有効化する必要があります。
adb shell settings put global settings_screenrecord_long_press true
あとは表示されるダイアログに従っていくだけでアプリなしで画面を動画で録画できるようになります。
録画された動画は、「動画」(Movies) 以下に保存されています。
以下も参考にどうぞ。