0
1

More than 3 years have passed since last update.

【超基本】カウントアップで学ぶ②AVFoundationで効果音をつける。

Posted at

はじめに

本記事はプログラミング初学者の筆者が、備忘録として作成した記事であり、興味本位で試してみたい機能についてのメモである。

前回の続きです。
【超基本】カウントアップで学ぶ①if文

ゴール

・AVFoundationを用いて、アプリに効果音を付ける。

内容

・前回作成したカウントアップアプリに効果音を付ける。
・AVFoundationを用いて、Labelが"7"の時にハッピーな効果音を流す。
・↑と同時にimageViewに"犬"の画像を表示し、"祝福の言葉"をLabelに表示させる。

完成:Simulator画像

・"7"の時、効果音が鳴る。
・犬に祝ってもらう。
Simulator Screen Shot - iPhone SE (2nd generation) - 2020-06-05 at 16.07.05.png

備考

前回のコードから追加した箇所は「//追加」のようにコメントアウトしております。そのほかの部分は、前回と同様のものです。

完成:実際のコード

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を使い、アプリに音楽を挿入できるようになる。
・犬に祝ってもらえる。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1