首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >avaudioplayer问题

avaudioplayer问题
EN

Stack Overflow用户
提问于 2011-04-07 01:32:56
回答 1查看 432关注 0票数 0

我有一个关于avaudioplayer播放器的问题。我有一个播放音乐的方法:

代码语言:javascript
复制
-(void)playBgMusic {

NSString *path = [[NSBundle mainBundle] pathForResource:@"bgmusic" ofType:@"aif"];
theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate = self;
[theAudio play];    }

它在viewDidLoad方法中调用:

代码语言:javascript
复制
- (void)viewDidLoad {
[super viewDidLoad];

[self playBgMusic]; }

现在的问题是:当我切换到另一个视图时,音乐会继续播放,但当我再次返回时,音乐会再次开始并重叠。

我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-07 01:39:21

为什么在-viewDidLoad中开始你的音乐?将其放入控制器的初始值设定项中。如果您只是在XIB中创建它,并且还没有覆盖初始化器,那么实现-initWithCoder:,如下所示:

代码语言:javascript
复制
- (id)initWithCoder:(NSCoder *)coder
{
    self = [super initWithCoder:coder];

    if(self)
    {
        [self playBgMusic];
    }

    return self;
}

..。或者,如果您手动分配/初始化它,请执行相同的操作,但使用-init (或您设置的任何自定义初始化器)。这样,音乐播放器将只在您第一次创建视图控制器时启动,从它的声音来看,您可能只执行了一次。

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

https://stackoverflow.com/questions/5570551

复制
相关文章

相似问题

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