2010-08-09 2 views
1

У меня есть вопрос относительно звуков в моем приложении. Мне нужно, чтобы пользователь мог отключить все звуки, исходящие из моей игры, например, если они просто хотят слушать iPod во время игры. Здесь есть аналогичный вопрос Disable all program sounds, но, похоже, нет ответа. На данный момент у меня есть AVAudioSession, установленный в AVAudioSessionCategoryAmbient, который позволяет играть в iPod, но также позволит моему приложению играть в игровые звуки. Является лучшим способом достичь своей цели, чтобы просто установить логическое bhen нажатие кнопки отключения звука и проверить это каждый раз, когда звук должен воспроизводиться? Это кажется неловким, хотя это сработает ... любые идеи, пожалуйста?Отключить в звуках приложений

Большое спасибо

Жюль

+0

Кто-нибудь знает, почему у меня есть -1 для этого? Казалось, это разумный вопрос? – Jules

ответ

0

Если IPOD играет, когда начинается игра, вы можете отключить звук автоматически.

например,

UInt32 userPlayback; 
UInt32 propertySize = sizeof(userPlayback); 
AudioSessionGetProperty(
    kAudioSessionProperty_OtherAudioIsPlaying, 
    &propertySize, &userPlayback); 
BOOL userMusicPlaying = (userPlayback != 0); 

Тогда, если userMusicPlaying ДА, не позволяйте звуки играть. (Подумайте также о добавлении переключателя, который позволяет звучать даже при воспроизведении iPod.) В противном случае я не думаю, что есть способ отключить звуки без вас или пользователя, отключая их.

0

Put isMuted в дефолтах пользователя

if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isMuted"]) { 
    playSound().... 
} 

приглушить:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isMuted"]; 

При вызове следующего он будет записывать параметры на диск и помните, что пользователь сделал в прошлый раз:

[[NSUserDefaults standardUserDefaults] synchronize]; 
+0

Это не решает проблему Жюля автоматически отключать все звуки, исходящие из игры. В вашем ответе сохраняется только предпочтение, которое должно происходить * после * игры автоматически отключает все звуки, т. Е. * После того, как * его проблема будет решена. –

+0

Нет. Идея состоит в том, чтобы проверить настройку, чтобы убедиться, что она не отключена перед воспроизведением звуков. –

+0

Но Жюль спрашивает, как автоматически установить этот параметр в НЕТ (или что-то еще), а не как проверить настройку. Например, он хочет автоматического НЕТ, когда играет музыка. Он хочет установить эту настройку. –

Смежные вопросы