我的应用程序视图中有somoe按钮,当用户单击一个按钮时它会发出声音。我想在应用程序设置视图中添加一个swich,当用户关闭swich时,用户单击按钮时不会播放任何声音。然后swich打开,声音将再次播放。我该怎么办? 提前谢谢!
答案 0 :(得分:2)
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
if ([switch isOn]){
[musicPlayer setVolume:1.0];
} else {
[musicPlayer setVolume:0.0];
}
希望这有帮助。
答案 1 :(得分:1)
一种选择是通过单个类路由所有声音播放,并为此类添加属性以进行静音或声音跳过:
@interface Jukebox : NSObject
@property(assign, getter=isMuted) BOOL muted;
- (void) playSoundWithID: (NSString) soundID;
@end
@implementation Jukebox
@synthesize muted;
- (void) playSoundWithID: (NSString) soundID
{
if (!muted) {
// …
}
}
@end
或者你可以包装AVAudioPlayer
并让它在播放之前检查一些应用程序范围的布尔标志:
@implementation CustomAudioPlayer
- (BOOL) play
{
return ([[AppSettings sharedInstance] playSounds]) ?
[super play] : NO;
}