忍者ブログ

とちにすいはら式+

痒いところに手が届かない雑記ブログ。お金とDTMの話が多め

近未来的音楽素材屋3104式
↑音楽素材はこっち↑

とちにすいはら式+

SwiftでAVAudioPlayerを使ったピアノアプリの音色を変更する方法

1.はじめに

iPhoneもiPadも持ってないくせにSwiftアプリの勉強をしている筆者。本当はスマホ機種変の際にiPhoneにしようかなーと思ってたのに、入荷待ちといわれたから結局iPhoneは入手できず。

ただ、将来的にはSIMフリーの中古iPhoneやiPadを買って、一応そのユーザーの人とも話を合わせられるようにはしておきたい。

と、それはともかく、Swiftでピアノアプリを作る際、ネット上の各種記事は

「音が鳴りましたね、めでたしめでたし」

で終わってしまい、

「じゃあ動作中にピアノの音をギターの音に変えたいときはどうするんだよ!」

という話が出てこなかったので、その解法を書いてみます。

2.音を切り替える方法

流れは以下です。

  1. 音を止める
  2. 音を再割り当てする
  3. 音を鳴らす

専門用語はわからないのでこう言った表現でw

3.ソースコード

以下、AVAudioPlayerを利用します。また、Xcodeは7.1.1、Swiftは2.1です。

音を鳴らすまでのコードは

ピアノアプリ(SwiftPiano)を作ろう!追記:より短いコードで書くと。 | bick.xyz

を参考にさせていただいています。

  1. // 音を止める
  2. for var i: Int in 0...12 {
  3.     audioPlayers[i].currentTime = 0
  4.     audioPlayers[i].stop()
  5. }
  6. // 音の割り当てを消す
  7. pianoPlayer = nil
  8. audioPlayers.removeAll()
  9. for key in synthKeys {
  10.     // ファイルのパスを取得
  11.     let synthSoundURL = NSURL(fileURLWithPath:     NSBundle.mainBundle().pathForResource(key, ofType: "mp3")!)
  12.     do {
  13.         // 音を再割り当てする
  14.         pianoPlayer = try AVAudioPlayer(contentsOfURL: synthSoundURL)
  15.         pianoPlayer.prepareToPlay()
  16.         audioPlayers.append(pianoPlayer)
  17.         print("成功")
  18.     }
  19.     catch {
  20.         // 失敗
  21.         print("ぬああああああああ")
  22.     }
  23. }

ネットに情報がなかったのは、audioPlayers.removeAll()で一度全部消してしまうところで、audioPlayers.removeAll()を行わずに再度音を割り当てを行ってもうまくいかなかったのです。

あとは音色の異なるファイルを複数用意し、ボタン操作などでピアノからギターやベースなどへ音色を切り替えることが可能になります。

4.おわり

以上です。所詮勉強中の身ですので、将来的には別の方法に変える可能性があることは付記しておきます。

とりあえず直近の課題は早々にiOS端末を入手することです。


iPhoneのゲームアプリをつくろう!

 

拍手[0回]

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント

トラックバック

スポンサーリンク

PR

ブログ内検索

記事書いてる人

運営者:
さいれほ@planet_f108
3104式の中の人。
音楽以外にはお金の話が好き。資産運用もやってるよ。


ついったー

お問い合わせフォーム

筆者の知識や経験であなたの力になれますか?

必要事項をご記入の上、送信ボタンをクリックすると、運営者宛にメールが送信されます。

ブログ内リンク

レビュー・改造系記事まとめリンク レビュー・改造系記事まとめリンク
PC・トイカメラなどのレビュー記事リストです。

DTM機材レビュー記事まとめリンク DTM機材レビュー記事まとめリンク
DTM機材に関するレビュー記事リストです。

クラブ関連記事まとめリンク集 クラブ関連記事まとめリンク集
音楽を流すクラブにいってきた話まとめ。

トラブル・お悩み解決系記事まとめリンク トラブル・お悩み解決系記事まとめリンク
ソフトのインストールなどで躓いた記事リストです。

サイト作り系まとめリンク サイト作り系まとめリンク
サイトのアクセス増、ユーザビリティに関する記事リストです。

忍者ブログカスタマイズまとめリンク 忍者ブログ運用術から収益化まで
忍者ブログ運用術から収益化までをまとめた記事リストです。

雅楽の舞改めポーチュラカリア成長記事まとめリンク 雅楽の舞改めポーチュラカリア成長記事まとめリンク
2011年から育てている雅楽の舞に関する記事リストです。

とちにすいはら式+アクセスアップ経過記録まとめリンク とちにすいはら式+アクセスアップ経過記録まとめリンク
本ブログのアクセス推移を記録した記事リストです。

お金持ち本まとめリンク お金持ち本まとめリンク
筆者が読んだお金持ち本あれこれまとめリンク。

無職関連の記事まとめリンク 無職関連の記事まとめリンク
無職関連の記事リストです。

スマホでUSENの記事まとめリンク スマホでUSENの記事まとめリンク
スマホで使える有線放送まとめ。データ量も測ってみました。

最新コメント

[11/14 管理人]
[11/11 鈴木隆夫]
[01/20 かんりにん]
[01/20 シモハチ]
[04/03 かんりにん]

フリーエリア

QRコード

とちにすいはら式+

サイトご利用上の注意

ブログ記事の著作権はとちにすいはら式+にあります。 引用される際には、必ず引用元として弊ブログのURLも記載していただくようお願いいたします。 記事の一部もしくは全ての無断転載はご遠慮ください。

記事を参考にされる際には、自己責任にてお願いいたします。