Monthly Archives: February 2015

Swift:サウンド(効果音)を再生するサンプルコード

ボタンのタップ時や、画面遷移時にちょっとした効果音を再生したいときには AVFoundation の AudioPlayer を使用します。 今回はこの AudioPlayer の使い方をメモしておきます。 サウンドを再生する AudioPlayer を使用し効果音を再生する手順は以下のようになります。 サウンドデータを準備する AVFoundation のインポート サウンドデータの読み込み AudioPlayer インスタンスを生成 AudioPlayer からサウンドデータを再生 ここでは sample.mp3 という音源を準備し、このサウンドを ViewController の viewDidLoad 時に再生する方法を説明したいと思います。 サウンドデータを準備する sample.mp3 ファイルをプロジェクトにドラッグアンドドロップし、コピーします。 AVFoundation のインポート ViewController の先頭に以下を追加します。 サウンドデータの読み込み override func viewDidLoad() に以下を記述し sample.mp3 を読み込みます。 AudioPlayer インスタンスを生成 上記 sound_data の次の行に以下を追記します。 AudioPlayer からサウンドデータを再生 続いて play() メソッドでサウンド再生を行います。 上記の ViewController の全体のソースコードは以下の通りとなります。 複数のサウンドファイルを切り替えて再生したい場合は ViewController 内で関数化すると便利です。 まとめ 今回紹介した方法は効果音以外の BGM も再生が可能ですが、プログラミングにより再生を動的にコントロールしたい場合は CoreAudio や AVFoundation の API を使用しなければいけません。もう少し高度なサウンドプログラミングに関しては、別の機会にでも記事にしたいと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Swift:UIButton を動的に生成する場合のサンプルコード

UIButton を動的に表示させるときに必要な Swift のメソッドを一覧にしました。 ボタンの動的生成は Storyboard の使用・不使用に関係なくあらゆる場面で必要ですので、お役立て下さい。 UIButtonのサンプルコード UIButton の生成 表示するテキストを定義する テキストカラーを定義する タップ時のテキストを定義する タップ時のテキストカラーを定義する ボタンのフレーム(サイズ)を定義する ボタンを配置する場所を定義する ボタンの背景色を定義する ボタンの形状(各丸)を定義する ボタンに枠線を定義する ボタンタップ時に実行するメソッドを定義する ボタンを特定するためのタグを定義する View に生成したボタンを追加する まとめ Storybord を使えば、これらのコードを書かなくてもボタンを任意の場所へ表示・配置できますが、少し複雑な画面遷移を行う場合には Storyboard を使うことにより混乱する場面もでてくるかと思います。 基本的に、複数のボタンの表示非表示を画面内で頻繁に繰り返すようなら、動的に生成したほうが分かりやすいと思います。 それでも Storyboard はとても便利な機能ですので、うまく付き合っていくようにしましょう。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Swift:バイブレーションを実装する

Swiftでバイブレーションを作動させる方法をメモ。 バイブレーションを実装する Swift のバイブレーション機能は Objective-C と同様に、システムサウンドとして定義されているので、このシステムサウンドをバイブレーションさせたいタイミングで実行させます。 フレームワークのインポート システムサウンドを再生するために、フレームワークをプロジェクトへ追加します。 Project -> TARGET -> Build Phases -> Link Binary With Libraries から 「+」をクリックし、AudioToolbox.framework を追加します。 ViewController から実行する 先ほど追加した AudioToolbox フレームワークを ViewController へインポートします。 import AudioToolbox 以下で実行 AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate)) サンプルコード 上記の ViewController をまとめると以下のようになります。 import UIKit import AudioToolbox class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do vibrate. AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate)) } } まとめ バイブレーションのほかにも、システムサウンドには iPhone ユーザーならおなじみのサウンドが定義されています。システムサウンドに関しては、また別に機会に投稿したいと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。