[iPhone] フラッシュLEDを点灯させる

カメラで撮影の時に暗所ではflash LEDが点灯しますが、このflashのみを点灯させてたり、明るさを変えたりしてみたいと思います。
 

Swift 5.1
Xcode 11.3.1

 

torchMode

 
FlashとかTorchと言われるものでカメラでフラッシュを焚く代わりの明るいLED発光です。
これはそもそもカメラで使うものですが、このライトだけ欲しいと考える人は結構いると思いますし、実際簡単なペンライトの代わりになります。同じように画面全体を白で発光させてライトの代わりにしようというアイディアも出てきます。
 

スクリーンの輝度を取得したり、輝度を変えたりできます。ユーザーが「設定」で変更できるところでもあります。  
 
カメラ機能に付随するのでAVFoundationをインポートして、
AVCaptureDevice.TorchMode.on
AVCaptureDevice.TorchMode.off
からLEDの点灯を制御できます。
 
ON/OFFだけでなく、レベルを変えることもできます。
setTorchModeOnWithLevel(level)
これはSliderで可変させてみるとわかりやすいでしょう。
 
ちなみに、このLEDをflashlightとして使うアプリは概ねRejectされます。
 
4.3 スパム
…また、すでに飽和状態のカテゴリにアプリケーションを追加することは避けてください。App Storeには、おなら、げっぷ、懐中電灯、カーマ・スートラといったアプリケーションが多数あります。App Storeでスパム行為をすると、Developer Programから除名される可能性があります。
 
Ref: App Store審査ガイドライン – Apple Developer
 
この中の懐中電灯がflashlightでLEDを使ったアプリなどをさしています。App Storeを見るとライト以外に様々機能を追加しているアプリがありますが、もはやそれはflashlightアプリでは無いのではと思ってしまいます。
 

サンプルコード

 

Buttonタップで点灯・消灯を繰り返す
Sliderで点灯時のレベルを変更してみます。

ViewController.swift

 
storyboardでUIButtonとUISliderを画面に置き、UISliderは「Value Changed」をコードと紐付けすると完成です。
 

 
Simlatorではエラーになるので実機で実行して確認しましょう。
 
 
関連ページ:

References:
torchMode – AVCaptureDevice | Apple Developer Documentation
AVCaptureDevice.TorchMode – AVCaptureDevice | Apple Developer Documentation
setTorchModeOn(level:) – AVCaptureDevice | Apple Developer Documentation

一人でアプリ開発の限界を感じたら

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンライン・スクールがいいと思います。


TECH ACADEMY
自宅にいながら1時間でプログラミング基礎を習得

こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン



とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


CodeCamp
~約20,000名の受講生と300社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。


無料で転職まで
これはiOSアプリ限定ではありませんが無料です
その代わり就職することを前提にしたスクールでエンジニアになって職を得たいのであれば手っ取り早いかもしれません


誤字脱字、意味不明などのご意見は 謙: e-mail まで
ブックマークしておくと便利です このエントリーをはてなブックマークに追加
Twitter:


シェアする

  • このエントリーをはてなブックマークに追加

フォローする