[iPhone] AVAudioplayer 音楽の再生

MP3などのミュージック・ファイルを再生させるにはどうするのか? AVAudioplayer は色々と設定ができますが、まず簡単な音楽再生アプリをSwiftで作ってみます。


Swift 5.1
Xcode 11.3.1

AVAudioplayer

ミュージック・ファイルをプロジェクトに追加

Xcodeで簡単な Single View のプロジェクトを作成します。

右クリックでメニューの[Add Files to “xxx”…]を選択 ファイルを選んでAdd
ミュージック・ファイル sample.mp3 をプロジェクトに追加

 

スクリーンショット 2015-10-05 14.35.39

オーディオ再生させる処理を記述

  1. ViewController.swift に AVFoundation をインポート
  2. ViewController に AVAudioPlayerDelegate を追加
  3. 再生する audio ファイルのパスから、再生するURLを作成する
  4. auido を再生するプレイヤーを作成する

  5. 自分自身をデリゲートに設定
  6. ボタンが押されると再生・停止の記述を追加

ViewController.swift

play stop のボタン

Storyboard を開き、ボタンを置きます
そのボタンを選択して右クリック接続ダイアログの
Touch Up Inside を ViewController の buttonTapped と接続します
New referencing Outlet を ViewController の button と繋ぎます。

audioplay_3

ビルド&実行

Xcode を Build して、ボタンを押すとオーディオが再生され、
もう一度押すと停止すれば成功です。

音楽再生にはこの他に
MPMusicPlayerController
AVPlayer
を使う方法があります。

また、バックグラウンドでも音楽の再生は必要ですがその設定は以下でやっています。

バックグラウンドはできるだけ避けるべきというのがAppleのスタンスでしょうか 。ただ、バックグラウンドでもオーディオや位置情報を使うことは…


関連ページ:
System Sound の再生


Ref:
AVAudioPlayer — AVFoundation | Apple Developer Documentation