2011-12-07 85 views
0

我在iOS的主UI中有一个音乐按钮,我希望将按钮功能作为停止音乐按钮,同时可以再次播放音乐。我的问题是我只能停止音乐,但无法再播放。这是我在xcode4中的iOS代码。如何为播放和停止音乐按钮定义一个按钮?我为stopMusic和playMusic分配了一个按钮,但它不起作用。iOS:如何用一个按钮停止背景音乐?

- (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]; 
} 

回答

0

不是有一个按钮尝试发送两个不同的消息(stopMusic, playMusic),有它发送的每一次toggleMusic。然后该方法可以基于玩家的当前状态停止或播放音乐。

- (IBAction)toggleMusic{ 
     if ([self.player isPlaying] == YES) { 
     [self.player stop]; 
     } else { 
     [self.player play]; 
     } 
     self.playBgMusic.enabled = YES; 

    } 
+0

您的代码正在工作,但是当我切换它时,程序退出程序接收信号。这里是行代码错误int retVal = UIApplicationMain(argc,argv,nil,nil); 我如何从内存中释放?几乎成功。你应该非常感谢你。 – Amink

+0

- (void)dealloc {玩家释放]; [super dealloc]; }我刚刚添加了这个版本,但不起作用。该程序意外退出。 – Amink

+0

嘿,我已经设法自己解决了。非常感谢你。 – Amink