今回はアプリで音を出す方法について解説します。最近私はrailsでオリジナルアプリケーションを作ったのでswiftを中心に勉強しています。
import AVFoundation
//上の記述が必要
class calcViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
まずはimport AVFoundationで音を出すためのフレームワークを導入します。
このフレームワーク以外にもたくさんApple社が出しているフレームワークがあるので自分の作りたいものに合わせて導入してみてください.
こちらがフレームワークの一覧です。http://iosdev.app-rox.com/framework/
次に音楽をファイルの中に入れましょう。
あらかじめ.mp3の状態にしてください。そしてxcode状にある自分が作っているファイルの中に入れてください。
今回はファイルの入れる音楽を"correct.mp3"と"incorrect.mp3"と仮の名前にします。
var player:AVAudioPlayer?
func playSound(name:String){
let path = Bundle.main.bundleURL.appendingPathComponent(name + ".mp3")
do {
player = try AVAudioPlayer(contentsOf: path,fileTypeHint: nil)
player?.play()
}catch{
print("error")
}
}
var player:AVAudioPlayer?でインスタンス化にして使えるようにしていきます。
let path = Bundle.main.bundleURL.appendingPathComponent(name + ".mp3")
pathという定数に情報を入れています。"Bundle.main.bundleURl"で取り込んだ音楽ファイルを見つける動きをして、"appendingPathComponent"で音楽ファイルを読み込む動きをしています。(name + ".mp3")のnameが引数をとっています。
do{}catch{}はdo-catch分と呼ばれ、例外処理をする文になっています。
tryでインスタンスを呼び出し,contensOfにはpathを入れます。
func setbutton{
answer = 1
if answer == 1{
//answerが1の時
playSound(name: "correct")
}else{
//answerが1以外の時
playSound(name: "incorrect")
}
}
playSound(name: "音楽ファイルの名前")を書くことによって音楽が再生されます。
以上で皆さんできたでしょうか?