お断り
この記事は自分専用メモなのですごい初歩的な事しか書いていませんがご了承下さい。
確認環境
Interface:Storyboard
Life Cycle:UIKit App Delegate
Language:Swift
◉Use Core Data
__○Host in CloudKit
◉Include Tests
この記事で出来る様になる事
関連づけしたbuttonが押された時に音を鳴らせる用になる
実装
UIの実装
storyの真ん中にbuttonを配置した後titleをpushに変更してからAutoLayoutのHorizontal Center in Container,Vertical Center in Containerにチックを付けて動かない様にします。これでUI
の実装は終わりです。こんな感じになればOKです。!
コードの実装
最終的なコードはこちらです。
import UIKit
import AVFoundation
class ViewController: UIViewController {
var sound:AVAudioPlayer!
override func viewDidLoad() {
super.viewDidLoad()
sound = try? AVAudioPlayer(contentsOf: URL(fileURLWithPath: Bundle.main.path(forResource: "test", ofType: "wav")!))
}
@IBAction func get() {
sound.stop()
sound.currentTime = 0
sound.play()
}
}
import AVFoundationではフーレムワークを読み込んで来ています。
var sound:AVAudioPlayer!ではAVAudioPlayerのインスタンスをsoundと言う名前で作っています。
override func viewDidLoad()この関数は画面が表示された時一度だけ実行されるので、ここでは先程作ったインスタンスに鳴らす音を設定して行きます。
sound = try? AVAudioPlayer(contentsOf: URL(fileURLWithPath: Bundle.main.path(forResource: "test", ofType: "wav")!))ではtest.wavを鳴らす様に設定しています。名前と拡張子は分離して書きます。
@IBAction func get()この関数は関連づけしたbuttonが押されると実行されます。
sound.stopでは今鳴らしている音を停止します。
sound.currentTime = 0ではインスタンスをリセットします。
sound.play()では音声を再生します。
関連付け
細かいところ
音量を変更
sound.volume = 2.0//音量を2倍に上げる
再生回数を変える
sound.numberOfLoops = 1//音声を2回再生する
再生速度を変える
sound.enableRate = true//もしrateだけでは変更出来なかったらこちらを加えると良い
sound.rate = 3.0