我有一个问题,因为两天研究更多我无法解决。
我在一个运行流音频的类中有一个应用程序。在另一个视图中,我有一个播客表,将通过网址打开。
为了利用第一个类的代码创建了一个委托,所以当用户去任何音频播客播放时,我只占用主类的方法来改变参数(在这种情况下是URL)。
委托工作正常,参数传递也是如此。唯一的问题是委托必须实例化主类。
ClassePrincipal *classePrincipal = [[ClassePrincipal alloc] init];
classePrincipal.delegate = self;
[classePrincipal method];
如果音频已经在主类中运行,实例化为新的对象类,它将开始播放已经运行的音频播客。
即使我在继续播放播客之前有一个重要的停止,例如:
- (void) playPodcast {
[classePrincipal destroyStreamer];
[classePrincipal startStream];
}
destroyStreamer正确调用该方法,但由于实例是从头开始创建的classePrincipal,他没有看到任何音频被播放。
有点滚动问题,但有没有办法调用参数传递ClassePrincipal而不实例化类?为了不在内存中分配新对象,我可以看到音频是否正在播放和他。
如果还有其他办法解决也谢谢。
答案 0 :(得分:0)
据我所知,你可能想把这个班变成一个单身。这样你就可以实例化它,如果它还没有实例化,如果它已经被实例化,你可以在代码中放置一些检查来停止当前音频,然后再开始新的音频。我找到的随机教程是enter link description here