今回はswift2で簡単な音楽再生と停止をするiOSアプリ開発します。
今回の環境は swift2.0 + Xcode 7.2 です。
swift2で新たな文法により、書き方が異なり多くのサンプルコードでは
エラーになったので書きます。
Contents
1. AVFoundationの追加する
AVFoundationはオーディオメディアの再生や作成ができるフレームワークです。
1 2 3 |
import UIKit //AVFoundationを追加 import AVFoundation |
2. Main.storyboardで再生用のボタンを追加する
再生(Play)と停止(Stop)用のボタンを配置します。
3. Main.storyboardで再生用のボタンを追加する
xcodeのプロジェクトに music.mp3という名前の音楽ファイルを入れた後
以下のプログラムを書きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
class ViewController: UIViewController { //再生用ボタンと再生状態ラベルのひも付け @IBOutlet weak var Playbutton: UIButton! //再生用のplayerを設定 var musicPlayer:AVAudioPlayer! // 再生するmusicファイルのパスを取得 今回は[music.mp3] let music_data = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("music", ofType: "mp3")!) override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } //~略~ |
4. 再生部分を作成する
再生ボタンのactionをmain.storyboardから追加した後
以下のプログラムを作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
@IBAction func Playbutton(sender: AnyObject) { //動作とエラーキャッチ処理 swift2から do { if musicPlayer != nil { //停止部分 musicPlayer.play() Playbutton.setTitle("Play", forState: UIControlState.Normal) musicPlayer = nil } else{ //動作部分 musicPlayer = try AVAudioPlayer(contentsOfURL: music_data) musicPlayer.play() Playbutton.setTitle("Stop", forState: UIControlState.Normal) } }catch let error as NSError { //エラーをキャッチした場合 print(error) } } |
SpriteKitに興味を持った方はこちらの本が分かりやすく入門に最適でしたのでどうぞ。
swift2からエラーのHandlingの文法が変更となったため結構詰まりました。
公式サイトはこちら
以上です。
Objective-Cで作ったアプリをSwiftで作り直しているところです。
この記事を参考にして効果音を再生させることができました。
有用な情報ありがとうございました。
Good writeup, I am normal visitor of ones blog, maintain up the excellent operate, and It’s going to be a regular visitor for a lengthy time. edfgdgaekfbc