我是编程的新手,我正在开发我的第一个应用程序。几个星期以来,我还没能找到答案。我真的很感激一些帮助。
我通过AVAudioPlayer播放背景音乐(我应用中唯一的声音),当我的应用打开时开始播放 - 这是我的appdelegate.m中的代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSString *bgmusic=[[NSBundle mainBundle]pathForResource:@"cloud_two-full-" ofType:@"mp3"];
bgmusic1=[[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:bgmusic] error:NULL];
bgmusic1.delegate=self;
bgmusic1.numberOfLoops=-1;
[bgmusic1 play];
[bgmusic1 setVolume:1.0];
}
所以,我已经创建了一个uiswitch,我想用它来静音背景音乐。这是我的viewcontroller.m中的IBAction:
- (IBAction)speakerOnOff:(id)sender {
static BOOL muted = NO;
if (muted) {
[bgmusic1 setVolume:1.0];
} else {
[bgmusic1 setVolume:0.0];
}
muted = !muted;
}
但是当我点击开关关闭时,音乐继续以正常音量播放。我只有1个视图控制器。请帮忙!我只是希望在开关单击关闭时音乐静音,然后在开关重新打开时返回音量1.0。
答案 0 :(得分:0)
编写此代码
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil];
以上
bgmusic1=[[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:bgmusic] error:NULL];
按这样做按钮动作
- (IBAction)speakerOnOff:(id)sender {
if ( bgmusic1.volume == 0) {
bgmusic1.volume = 1;
} else {
bgmusic1.volume =0;
}
}