Ios4 iOS:如何只用一个按钮停止背景音乐?
我在iOS的主界面中有一个音乐按钮,我希望该按钮可以作为停止音乐按钮,同时可以再次播放音乐。我的问题是我只能停止播放音乐,但不能再播放。这是我在xcode4中的iOS代码。如何为播放和停止音乐按钮定义一个按钮?我为stopMusic和playMusic都指定了一个按钮,但它不起作用Ios4 iOS:如何只用一个按钮停止背景音乐?,ios4,ios5,xcode4.2,Ios4,Ios5,Xcode4.2,我在iOS的主界面中有一个音乐按钮,我希望该按钮可以作为停止音乐按钮,同时可以再次播放音乐。我的问题是我只能停止播放音乐,但不能再播放。这是我在xcode4中的iOS代码。如何为播放和停止音乐按钮定义一个按钮?我为stopMusic和playMusic都指定了一个按钮,但它不起作用 - (IBAction)stopMusic{ self.playBgMusic.enabled = YES; [self.player stop]; } - (IBAction)playMus
- (IBAction)stopMusic{
self.playBgMusic.enabled = YES;
[self.player stop];
}
- (IBAction)playMusic{
self.playBgMusic.enabled = YES;
[self.player play];
}
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"music" ofType:@"mp3"];
self.player=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
player.delegate = self;
[player play];
player.numberOfLoops = -1;
[super viewDidLoad];
}
与其让一个按钮尝试发送两条不同的消息(
stopMusic,playMusic
),不如让它每次都发送toggleMusic
。然后,toggleMusic
方法可以根据播放器的当前状态停止或播放音乐
- (IBAction)toggleMusic{
if ([self.player isPlaying] == YES) {
[self.player stop];
} else {
[self.player play];
}
self.playBgMusic.enabled = YES;
}
您的代码正在工作,但当我切换它时,程序将退出并发出程序接收信号。这是行代码错误int retVal=UIApplicationMain(argc,argv,nil,nil);如何从记忆中释放?几乎成功。你应该非常感谢。-(void)dealoc{[player release];[super dealoc];}我刚刚添加了这个版本,但不起作用。程序意外退出。