我在另一个班级的某个班级停止声音时遇到了麻烦。我在ViewDidLoad中播放声音,然后我有应用程序MainView的主类,我想停止ViewDIdLoad的声音。我搜索论坛并没有找到解决方案。你请求帮助我?
VievDidLoad位于gdziedotykViewController.m
中 NSString *path = [[NSBundle mainBundle] pathForResource:@"farmaglownaloop" ofType:@"mp3"];
startdzwiek = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
startdzwiek.numberOfLoops = -1;
[startdzwiek play];
- (void)stopping{
[startdzwiek stop];
}
我希望在MainView.m类中停止声音
gdziedotykAppDelegate *dzwiekdelegat = (gdziedotykAppDelegate*)[[UIApplication sharedApplication] delegate];
[dzwiekdelegat stopping];
答案 0 :(得分:0)
您正在创建视图控制器的新实例。这将启动一个新的AVAudioPlayer
并停止它。显然,这不起作用。
相反,你可以
MainView
的代表,然后只需致电[self.delegate stop];
,保留现有视图控制器播放声音的参考。 [[[UIApplication sharedApplication] delegate] start];
和
[[[UIApplication sharedApplication] delegate] stop];
您必须在app delegate中实施start
和stop
。