【Swift5】超簡単!10分で作れる音楽を鳴らせるアプリ【応用あり】

お疲れ様です,Hirokiです!

以前2記事に渡って書いた,「Xcodeの使い方」の記事は

ご覧いただけたでしょうか?

・Macを持ってるけど,プログラミングをやったことがない!

・過去にプログラミング独学で挫折してしまった...

・SwiftでiPhoneアプリ(iOSアプリ)の開発をしてみたい!

と言う方は,是非記事を読んで試してみてください.

↓初めてアプリ開発をする方はこちら↓

さて今回は,Swiftで音楽を鳴らすことのできる

AVFoundationフレームワークを使った,

AVAudioPlayerクラスの紹介と実践です!

今回も一緒に,簡単なアプリを作ってみましょう!

それでは内容に入っていきます.

Swiftで音楽を鳴らすには?

前置きでも書きましたが,Swift・Xcodeで音楽を

鳴らしたい場合は,AVFoundationフレームワークを使います!

Swiftを始めたばかりの方は,なんだそれは!?

と思いますよね.

そこでまずは,フレームワークについての説明からしていきます.

フレームワークとは

フレームワークとは,簡単に言うと

私たちが開発をしやすいように事前に準備されている雛形」のことです.

今回は,その中でも「AVFoundation」というフレームワークを使用します.

このフレームワークで出来ることは,これらになります.

AVFoundation

・目に見えるものや音の操作

・音声の処理

・音声インタラクションの設定

他にもまだあるのですが,詳しくはまだ触れないでおきます.

今は,パッとしなくても全然大丈夫です!

そのうち必ず,理解できる時がきます!

プログラミングにおいて大事なことは,

「一度で完全理解しようとしないこと」です.

本当にこれに限ります.

プログラミングを初心者が学習する上で非常に

大切なことをまとめた記事があるので,

読んでみてください.

↓プログラミング初心者の方はこちら↓

それでは,その次に大事な

クラス」についての説明です.

クラスとは

クラスとは,簡単に言うと

設計書のようなもの」です.

先ほど,説明したフレームワークの中に

クラスは様々な種類用意されています.

イメージとしては,このような感じです.

今回,使用する「AVFoundation」というフレームワークの中に

「AVAudioPlayerクラス」というものがあり,今回はそれを使っていきます.

そのクラスで出来るのは,これらのことです.

AVAudioPlayer

・好きな時間だけ音を鳴らす

・ファイルやメモリバッファから音を再生

・繰り返し再生

これらの機能を押さえておけば,とりあえずOKになります.

他にもどんなものがあるのか,気になった方は

詳しくはこちらに載っていますので是非ご覧ください.

クラスとは,「設計書」のようなものと

例えましたが,下の画像のようなイメージです.

この場合ですと,「設計書」によって作られた

スポーツカーや軽自動車のことを

インスタンス」と呼びます.

ここで訳分からない!となった方も気にしなくて

大丈夫です.

どんどん先に進みましょう!

音楽を鳴らすアプリの画面作成

今から,一緒に音楽を鳴らすアプリの画面を作成していきます.

早速,Xcodeを起動してみましょう!

①Xcodeを起動してください

②Single View Appを選択

③Product Nameは自由に付けてください

④保存場所も自由です(どこかのファイルにまとめておくと良いかも)

これで,アプリを開発する準備が整いました.

それでは,まずUI(ユーザインタフェース)の作成をします.

※UIとはアプリのデザインなどのことを指します.

ボタンを配置して「START」「STOP」とする

①Main.storyboardを選択してください

②[ Button ]を2つ配置してください

③それぞれのテキストを「START」「STOP」とします

今回もデザイン性は無視して,超シンプルにボタンを2つ並べるだけにしました.

そしたら次に,ボタンの紐付けをしてあげます.

↓紐付け方法などを忘れてしまった方はこちら↓

アシスタントエディタに切り替えて,紐づける作業

①画像右上の赤丸のアシスタントエディタをクリックしてください

②「START」と「STOP」をそれぞれ紐付けてください(Actionで名前は「start」「stop」)

次に再生する音楽ファイルを用意します.

なんでも良いのですが,今回はフリー素材を使いましょう.

フリー BGM DOVA-SYNDROME

というフリーBGM素材サイトから持ってきます.

フリーBGM DOVA-SYNDROMEからダウンロードしてください

②ファイル名を「music.mp3」に変えてください

ここまで終わったら,XcodeにBGMのファイルを保存します.

左側の赤い箇所に,ファイルをドラッグ&ドロップ

①左の赤い箇所にBGMのファイルをドラッグ&ドロップしてください

ここまで終えたら,準備完了です.

ここからは,コードを早速書いていきましょう!

AVAudioPlayerクラスを使ってみよう

まず,何を最初にするかというと,フレームワークをインポートします.

①ViewController.swiftに切り替えてください

②import UIKitの直下に,import AVFoundationと入力してください

これで,AVFoundationフレームワークのインポートが完了しました.

①続いて,let 任意の名前① = Bundle.main.bundleURL.appendingPathComponent("BGMのファイル名") を入力してください

②var 任意の名前② = AVAudioPlayer() を入力してください

let musicPath = Bundle.main.bundleURL.appendingPathComponent("music.mp3")

で,BGMファイルが保存されている場所までの道筋を

「musicPath」という定数に格納しました.

(流したい音楽はここに入ってるよー!ということ)

次に,var musicPlayer = AVAudioPlayer()

で「AVAudioPlayerクラス」をインスタンス化しました.

(musicPlayerという名前でAVAudioPlayerクラスの内容を使えますよー!ということ)

ここで意味が分からなくても「ふーん」という感じで聞き流してください.

①続いて,赤枠で囲まれたコードを「start」の中に入力してください

これで,ボタンを押した時に音楽を再生してね!

もし,エラーが出たら「エラー」って出力してね!

というコードを書きました.

最後にSTOPボタンのアクションです.

①musicPlayer.stop()と入力してください

これで,STOPボタンを押した時に音楽を止めてくださいね!

というコードを書きました.

以上で,簡単な音楽再生アプリが完成です.

シミュレーターか,自分のiPhoneで実機テストをしてみましょう!

①左上の[ ▶︎ ]を押してください

②「START」と「STOP」を押してみてください

音楽が再生されたでしょうか?

再生されたら大成功です!

もし,再生されなかった場合はどこかのコードが抜けていたりするので,

もう一度確認してみてください.

Swiftではこんなに簡単にちゃんとした機能を持った

アプリを作ることができます.

最後に,応用編です.

応用編

最後に応用編をしてみましょう.

iPhoneを降った時の動きを検知して,音を鳴らしてみましょう!

①「stop」のアクションの下に,このコードを全て入力してください

入力し終えたら,実機転送してiPhoneを降ると音楽が流れるか試してみてください.

これは,もともとimportされているUIKitフレームワークの中の

1つである,motionBeganというインスタンスメソッドを使用しています.

一見難しそうな処理でも,Swiftなら一瞬で

実装することができます.

最後に

もし,もっと開発がしてみたい!

と思ったら,他の記事を読んでそれを実践してみてください.

↓初心者から1ヶ月半でオリジナルアプリを作った方法↓

私が初めて,学習した際に購入した書籍を貼っておきます.

非常にオススメです.

それでは,ここまで読んでいただきありがとうございました!

次回,またお会いしましょう.

Twitterでフォローしよう

おすすめの記事