LoginSignup
23
24

More than 5 years have passed since last update.

Xcode マナーモード中でも強制的に音を鳴らす方法

Last updated at Posted at 2015-09-25

はじめまして

こういうところに記事を書くのは初めてなのですが、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だと当然マナーモードでなくても鳴りませんので鳴らないときは音量を確認してください。

23
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
24