2016-12-01 2 views
3

Я новичок в кодировании приложений, и я создал простое приложение, которое воспроизводит звук. Я тестировал его, и он работает нормально. Тем не менее, я хочу воспроизвести звук в бесшумном режиме.Воспроизведение звука, когда устройство находится в бесшумном режиме

Вот код:

#import "ViewController.h" 
@interface ViewController() 
@end 

@implementation ViewController 

-(IBAction)Button1Sound:(id)sender{ 
    AudioServicesPlaySystemSound(Button1); 
} 

- (void)viewDidLoad { 
    NSURL *Button1Sound = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"nobody" ofType:@"m4a"]]; 
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)Button1Sound, & Button1); 

    [super viewDidLoad]; 
} 

@end 

Я посмотрел на другие вопросы в Интернете, и они сказали, чтобы добавить эту строку кода:

[[AVAudioSession sharedInstance] 
     setCategory: AVAudioSessionCategoryPlayback 
       error: nil]; 

Я не уверен, где поставить его или если я использую правильный синтаксис. Я также использую рамки audiotoolbox.

+1

Возможно, вы сможете обойти это, играя в него, как будто это была музыка вместо звука, но я предлагаю вам этого не делать. Люди используют бесшумный режим по какой-либо причине и играют звуки, когда телефон находится в тихом режиме, в лучшем случае будет раздражать. – EmilioPelaez

+0

Мне было просто интересно, как это будет сделано. – Dexstrum

ответ

1

В бесшумном режиме, если пользователь явно не инициирует воспроизведение звука, например воспроизведение мультимедиа, он нарушает Руководство по интерфейсам пользователя (HIG) и является основанием для отклонения приложения.

согласно HIG:

Silence. Люди переключают свое устройство на тихий, чтобы не прерывать неожиданные звуки, такие как мелодии звонка и звуки входящих сообщений. Они также хотят, чтобы ненужные звуки были отключены, включая звуки клавиатуры, звуковые эффекты, саундтреки к игре и другую звуковую обратную связь. Когда устройство настроено на молчание, должны появляться только явно инициированные звуки, такие как звук во время воспроизведения мультимедиа, сигналы тревоги и аудио/видео сообщения.

Если вы считаете, что ваша потребность не в нарушении, см. Это post для решения.