如何让avaudioplayer停在另一个班级

时间:2011-07-12 13:31:08

标签: objective-c xcode avaudioplayer

在我的app委托中,我在应用程序中有这个代码完成了启动方法:

NSString *music = [[NSBundle mainBundle]
                   pathForResource:@"appsong" ofType:@"m4a"];
self.audio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:music] error:NULL];
audio.delegate = self;
[audio play];
audio.numberOfLoops = -1;

我有一个页面,应该播放另一个音乐片段,我怎么能说应用代表中的avaudioplayer应该在我退出视图时停止并重新开始。

2 个答案:

答案 0 :(得分:2)

因为您的全局播放器位于您的应用委托中,所以想要播放自己的音乐的视图可能会添加:

-(void)viewWillAppear:(BOOL)animated {
     // ...
     [(YourSpecificAppDelClass*)[UIApplication sharedApplication].delegate pauseAudioPlayer];
}

-(void)viewWillDisappear:(BOOL)animated {
     // ...
     [(YourSpecificAppDelClass*)[UIApplication sharedApplication].delegate startAudioPlayer];
}

其中startAudioPlayerstopAudioPlayer在您的app delegates头文件中公开。

答案 1 :(得分:0)

调用一个函数来停止视图类中appdelegate类中的玩家吗?