Swift:音声の再生、一時停止、停止


Swiftにおけるメディア再生、音楽の再生の基本。
サンプルからガーシュウィンのラプソディインザブルーを使用してみた。

好きな曲を使うとちょっと気分上がりますね。


◆音声サンプルは以下サイト様からいただきました。


(1)手順

  • 音声ファイルを用意し、プロジェクトに挿入
  • ライブラリインポート:AVFoundation FlameWork
  • 音楽コントローラ AVAudioPlayerを定義(変数定義、定義実施、クリア)
  • ViewDidLoadでAVAudioPlayerを呼び出し
  • 各ボタン(再生/一時停止/停止)を設置し、play/stop/pauseのコードを記述
  • ボリュームスライダーを設定し、音量をslider.valueと紐付け

(2)サンプルコード


import UIKit

// ライブラリインポート:AVFoundation FlameWork
import AVFoundation 

class ViewController: UIViewController {

    // 音楽コントローラ AVAudioPlayerを定義
    var player:AVAudioPlayer = AVAudioPlayer()


    // ボタン定義
    // 再生ボタン
    @IBAction func playButton(sender: AnyObject) {

        player.play()

    }

    // 一時停止ボタン
    @IBAction func pauseButton(sender: AnyObject) {

        player.pause()

    }

    // 停止ボタン
    @IBAction func stopButton(sender: AnyObject) {

        player.stop()

        //停止後、AudioPlayerをクリア、再定義
        audioPlayerDif()

    }

    // ボリューム調整
    @IBOutlet var volume: UISlider!
    @IBAction func volumeController(sender: AnyObject) {

        player.volume = volume.value

    }


    // 音楽コントローラ AVAudioPlayerを定義(変数定義、定義実施、クリア)
    func audioPlayerDif(){

        // 音声ファイルのパスを定義 ファイル名, 拡張子を定義
        let audioPath = NSBundle.mainBundle().pathForResource("rpb", ofType: "mp3")!

        //ファイルが存在しない、拡張子が誤っている、などのエラーを防止するために実行テスト(try)する。
        do{

            //tryで、ファイルが問題なければ player変数にaudioPathを定義
            try player = AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: audioPath))

        }catch{

            //エラー処理

        }

    }

    override func viewDidLoad() {

        super.viewDidLoad()

        //AvAudioPlayer呼び出し
        audioPlayerDif()

    }

}


(3)画面サンプル

以上、ではまた!!!