みかづきブログ・カスタム

基本的にはちょちょいのほいです。

Mac用に書き出したElectronアプリがカメラにアクセスできないときの対策 📷


ことの発端

navigator.mediaDevices.getUserMediaを使って、ウェブカメラにアクセスするMacアプリを作っていて、

electron .

で起動した際には問題ないのに、electron-packagerを使ってアプリ書き出しすると、カメラの映像が取得できずに困ったので対策を調べました。

環境

  • maxOS 👉 15.0.1
  • electron 👉 33.0.1
  • electron-packager 👉 17.1.2

解決法

systemPreferences.askForMediaAccess を使う。

www.electronjs.org

import { systemPreferences } from 'electron';

(async () => {
  await systemPreferences.askForMediaAccess('camera');

  // もろもろの処理を書く
})();

という感じで、カメラアクセスの許可を取るようにしたら無事に解決しました。
マイクも同様に許可を取る必要がある模様です。