2013-06-30 47 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!非常感謝... –

相關問題