はじめまして
こういうところに記事を書くのは初めてなのですが、iPhoneアプリの開発を
長年やっているので、お役に立てればと考えています。
早速ですが、マナーモード(iPhone左側のオレンジ色のスイッチ)に設定している
時でも音を鳴らす方法をご紹介したいと思います。
すいませんが、決して悪用しないようご注意ください。
#事前準備
・鳴らしたい音声ファイルをmp3にして、プログラムと同じ階層に配置してください。
ここではsound.mp3ファイルを用意してプログラムと同じ階層に配置したとします。
・AVFoundation.frameworkを利用するので、プロジェクトに追加してください。
#プログラム
viewController.h
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface ViewController : UIViewController<AVAudioPlayerDelegate> {
AVAudioPlayer *audioPlayer;
}
@end
viewController.m
- (void)viewDidLoad{
[super viewDidLoad];
NSString *path;
//音声ファイルを指定する
path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil];
//マナーモード時にも音を鳴らすように設定
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
}
あとは再生したい時に以下の記述をすれば再生されます。これは音を鳴らすときと同じですね。
[audioPlayer play];
ちなみに音量が0だと当然マナーモードでなくても鳴りませんので鳴らないときは音量を確認してください。