はじめに
本記事はプログラミング初学者の筆者が、備忘録として作成した記事であり、興味本位で試してみたい機能についてのメモである。
前回の続きです。
【超基本】カウントアップで学ぶ①if文
ゴール
・AVFoundationを用いて、アプリに効果音を付ける。
##内容
・前回作成したカウントアップアプリに効果音を付ける。
・AVFoundationを用いて、Labelが"7"の時にハッピーな効果音を流す。
・↑と同時にimageViewに"犬"の画像を表示し、"祝福の言葉"をLabelに表示させる。
##完成:Simulator画像
・"7"の時、効果音が鳴る。
・犬に祝ってもらう。
##備考
前回のコードから追加した箇所は「//追加」のようにコメントアウトしております。そのほかの部分は、前回と同様のものです。
##完成:実際のコード
countUp.Swift
import UIKit
import AVFoundation //追加
class ViewController: UIViewController {
@IBOutlet weak var countLabel: UILabel!
@IBOutlet weak var imageView: UIImageView!
var count = 0
//音源ファイルを指定する。
let lucky7Music = Bundle.main.bundleURL.appendingPathComponent("音楽ファイル名")
//音楽プレイヤーインスタンスを作成する。
var lucky7Player = AVAudioPlayer()
override func viewDidLoad() {
super.viewDidLoad()
countLabel.text = "0"
}
@IBAction func UPButton(_ sender: Any) {
count = count + 1
countLabel.text = String(count)
if count >= 10 {
countTextColer()
}
else if count == 5 {
redTextColor()
imageView.image = UIImage(named: "画像ファイル名")
}
//7の場合を追加
else if count == 7 {
do {
//音楽プレイヤーに音楽(lucky7music)をセット。
lucky7Player = try AVAudioPlayer(contentsOf: lucky7Music, fileTypeHint: nil)
//音楽プレイヤ〜を再生。
lucky7Player.play()
} catch {
print("エラー発生")
}
countLabel.text = String("Labelに表示したい言葉")
imageView.image = UIImage(named:"犬の画像")
}
}
@IBAction func DOWNButton(_ sender: Any) {
count = count - 1
countLabel.text = String(count)
if count <= 0 {
resetTextColor()
imageView.image = UIImage()
}
else if count == 5 {
redTextColor()
}
}
@IBAction func ResetButton(_ sender: Any) {
resetButton()
}
func countTextColer() {
countLabel.textColor = .yellow
}
func resetTextColor(){
countLabel.textColor = .black
}
func redTextColor(){
countLabel.textColor = .red
}
func resetButton(){
imageView.image = UIImage()
count = 0
countLabel.text = String(0)
countLabel.textColor = .black
}
}
##結果
・AVFoundationを使い、アプリに音楽を挿入できるようになる。
・犬に祝ってもらえる。