我有firstViewController
和SecondViewController
。在两个控制器中,我可以点击播放按钮,旋律将播放。因此,当我点击1个控制器中的播放按钮然后转到2个控制器并点击其他播放按钮时,2个旋律将一起播放。所以我的问题是当我点击第二个控制器中的播放按钮时,如何从第一个控制器停止第一个旋律。谢谢!
在firstViewController中viewdidload
NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"first" ofType:@"wav"];
NSURL *soundURL_ = [NSURL fileURLWithPath:soundPath];
AVAudioPlayer *first = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL_ error:nil];
[first prepareToPlay];
secondViewcontroller
相同但第二个而不是第一个
当我按下按钮时:
[first play]
答案 0 :(得分:2)
您可以创建一个自定义对象实例,其中包含AVAudioPlayer和与播放器关联的方法,然后在两个视图中为该对象创建指针。
如果您想从AppDelegate中实例化AVAudioPlayer,则必须首先设置AVAudioPlayer并将其分配给AppDelegate的属性。
在View Controllers中,访问App Delegate的任何属性都很简单,只需写下:
AppNameAppDelegate *ad = (AppNameAppDelegate *)[[UIApplication sharedApplication] delegate];
接下来是:
localAVAudioPlayerInstance = ad.audioPlayer;
如果您需要更详细的说明,请与我们联系。