iOS:如何只用一个按钮停止背景音乐?

时间:2011-12-07 01:28:14

标签: ios4 ios5 xcode4.2

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

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

1 个答案:

答案 0 :(得分:0)

不是只有一个按钮尝试发送两条不同的消息(stopMusic, playMusic),而是每次都发送toggleMusic。然后,toggleMusic方法可以根据播放器的当前状态停止或播放音乐。

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

    }