[SwiftUI] Work-Walk Timer - (2) Play Audio
- handmadeapp
- 2020年5月5日
- 読了時間: 1分
タイマーアプリの続き。
あらかじめ登録した音を再生する機能に着手していきます。
利用する音は2種類。
①時間が来たことを知らせる、ししおどしの音(From: https://pocket-se.info/)
②休憩時間の間に流す音楽(From: https://amachamusic.chagasi.com/)
こちらを参考に、Soundsクラスを作成。
Assetsへのアクセス方法はこちらの記事を参考にしました。
まずは、音声ファイルをXcodeのAssetsに追加。
それぞれファイル名を、①shishiodoshi、②walkmusic とする。
ファイル形式は、mp3。
Swiftファイルを1つ新規作成し、Sounds Classを作成。
playSounds
stopSound
の2つの function を用意。
Contents Viewから、これらの function を利用。
①タイマーの残り時間が0になって以降、10秒おきに「shishiodoshi」を再生。
②休憩中になったら「walkmusic」を再生。
③「仕事を始める」がタップされたら「walkmusic」を停止。
ここで1つ問題が。
walkmusic は約1分半の音声ファイルで、1分半で再生が終了してしまう。
「仕事を始める」がタップされるまで繰り返し再生してほしいので、
Repeat設定を追加することに。
AVAudioPlayer の numberOfLoops を設定し、walkmusic については、
こちらを参考に numberOfLoops を「-1」に。
Sounds Class
Content View
Loop回数「0」→繰り返し無し。1回だけ再生。
Loop回数「-1」→永遠に繰り返し。
以上、音声ファイルの再生、停止が追加できました。
Comentários