LoginSignup
20
26

More than 5 years have passed since last update.

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

Posted at

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)画面サンプル

Kobito.Ny7dax.png

以上、ではまた!!!

20
26
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
20
26