[iPhone] System Sound の再生

Photo by Plush Design Studio on Unsplash
iPhone がシステムで持っている音源やバイブレータなどを再生させてみましょう。音楽再生とくれば AVFoundation の AVAudioPlayerですがAudioToolbox のフレームワークにある
AudioServicesPlaySystemSoundを使うと簡単にできます。

Swift 5.1
Xcode 11.3.1

System Sound Services

 
システムサウンドを使う方法はその種類によっていくつかあります。簡単にIDを指定するだけのものから、好みのワンショット音楽を使うことも可能です。
 

 

SystemSoundID

 
IDを指定するだけでとても簡単です。IDはiPhoneでも多数選択できるように色々あります。
 

 

ファイルパスを指定して再生

 
端末内のシステムサウンドを直接指定して再生します。この場合ボリュームやミュートの影響を受けます。
 

 

独自音源ファイル

 
サンプルとして mp3などをプロジェクトに追加します。30秒以下などの幾つかの制限があります。
例えば、sample.mp3ファイルをプロジェクト内にaddしておきます。


 

 

バイブレータ

 
これだけ別処理で直接できます。
 

 

サンプルコード

 
まとめてみると

ViewController.swift

Buttonを作成してTouch up insideでそれぞれ紐付けしてテストしてみましょう。

これらのテストの確認は以下の環境設定で実施しましたが、vibraterは当然マナーモードでないと動作しません。またAirPodsはマナーモードでは音楽は聞けますが、これらシステム音は聞こえてきません。

simulator iPhone iPhone(マナーモード) AirPods AirPods
(マナーモード)
SystemSound OK OK OK
photoShutter.caf OK
new-mail.caf OK
sample mp3 OK OK
vibrater OK  OK

 

 
Ref: System Sound Services Reference

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

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


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

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


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



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


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




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


Play Ground
本業と並行してやるには月額制なのがありがたいです。


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

受講料無料:社会人転職コース


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


シェアする

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

フォローする