首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Avaudioplayer如何停止从其他控制器播放对象

Avaudioplayer如何停止从其他控制器播放对象
EN

Stack Overflow用户
提问于 2012-07-17 04:45:37
回答 1查看 746关注 0票数 1

我有firstViewControllerSecondViewController。在这两个控制器中,我都可以点击播放按钮,旋律将会播放。因此,当我在一个控制器中点击播放按钮,然后转到2controller并点击其他播放按钮时,两个旋律将一起播放。所以我的问题是,当我点击第二个控制器中的播放按钮时,如何从第一个控制器停止第一首旋律。谢谢!

在firstViewController viewdidload

代码语言:javascript
复制
NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"first" ofType:@"wav"];
NSURL *soundURL_ = [NSURL fileURLWithPath:soundPath];
AVAudioPlayer *first = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL_ error:nil];
[first prepareToPlay];

secondViewcontroller中相同,但第二个而不是第一个

当我按下按钮的时候:

代码语言:javascript
复制
[first play]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-17 08:19:38

您可以创建一个包含与播放器关联的AVAudioPlayer和方法的自定义对象的实例化,然后在两个视图中为该对象创建一个指针。

如果您希望从AppDelegate中实例化AVAudioPlayer,则必须首先设置AVAudioPlayer并将其分配给AppDelegate的一个属性。

从你的视图控制器中,访问你的App Delegate的任何属性都很容易,只需写下:

代码语言:javascript
复制
AppNameAppDelegate *ad = (AppNameAppDelegate *)[[UIApplication sharedApplication] delegate];

然后是:

代码语言:javascript
复制
localAVAudioPlayerInstance = ad.audioPlayer;

如果您想要更详细的说明,请告诉我。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11512259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档