2013-06-30 48 views
0

我在应用程序启动时正在播放背景中的音频文件。该函数在viewDidLoad中调用。iOS:在应用程序不再处于前台时重置音频播放器

-(void)playsong 
{ 
    NSString *songUrl = [[NSBundle mainBundle] pathForResource:@"chant" ofType:@"m4a"]; 
    NSData *songFile = [NSData dataWithContentsOfFile:songUrl]; 

    NSError *error; 
    audioPlayer = [[AVAudioPlayer alloc] initWithData:songFile error:&error ]; 
    [audioPlayer play]; 
} 

当用户按下home键时,歌曲的当前位置是10秒,歌曲将停止播放。 但是当用户再次打开该应用时,该歌曲从相同的位置开始。

我希望每次打开应用程序时都要从头开始。

加上内存的原因是不是更好的释放内存?

我试图从

- (void)viewWillAppear:(BOOL)animated 

调用的函数,然后在

- (void)viewWillDisappear:(BOOL)animated 

设为零,但方法 - (空)viewWillDisappear:(BOOL)动画是没有得到所谓的。

回答

1

如果viewWillDisappear不适用于您,请尝试在NSNotification中心添加一个观察者,该应用程序在didEnterBackground时调用方法。像这样:

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(enteredBackground:) 
              name:UIApplicationDidEnterBackgroundNotification 
              object:nil]; 

添加您的代码到这个方法:

-(void)enteredBackground:(NSNotification *)notification { 

} 

希望这有助于!

UPDATE

好了,从那里你想进入电影音频对象的关于我们查看,试试这个:

HomeViewController *HomeVC = [HomeViewController alloc] init]; 

HomeVC.audioPlayer...//then do what you want with it 

只要你声明的音频对象家庭VC,然后这应该工作。

确保您已将导入视图控制器导入其中一个关于我们的视图控制器,文件中。

+0

感谢它的工作! 只有一件事,如果我导航到“关于我们”视图,然后关闭应用程序。在重新开放的歌曲从相同的位置重新开始。我如何访问'关于我们'视图'主页'视图中定义的音频对象? –

+1

我编辑了我的答案 – dylaank

+0

Vamos!非常感谢... –

相关问题