2011-07-12 31 views
0

在我的應用程序委託我有這樣的代碼在應用程序中去把推法:如何使avaudioplayer停在不同的類

NSString *music = [[NSBundle mainBundle] 
        pathForResource:@"appsong" ofType:@"m4a"]; 
self.audio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:music] error:NULL]; 
audio.delegate = self; 
[audio play]; 
audio.numberOfLoops = -1; 

我有一個頁面,音樂的另一個peice的應該玩,我怎麼能說當應用程序代理中的avaudioplayer應該停止並重新開始,當我放棄這個視圖時。

+0

因此,您試圖一直播放音樂,但一頁播放音樂不同? – thelaws

+0

的確,這是正確的 – user840797

+0

你知道該怎麼做嗎? – user840797

回答

0

調用一個函數來阻止玩家在appdelegate類中的視圖類從你的視圖?

+0

我該怎麼做 – user840797

2

好,因爲你的全球玩家在你的應用程序委託,即希望以發揮它自己的音樂可以補充:

-(void)viewWillAppear:(BOOL)animated { 
    // ... 
    [(YourSpecificAppDelClass*)[UIApplication sharedApplication].delegate pauseAudioPlayer]; 
} 

-(void)viewWillDisappear:(BOOL)animated { 
    // ... 
    [(YourSpecificAppDelClass*)[UIApplication sharedApplication].delegate startAudioPlayer]; 
} 

其中startAudioPlayerstopAudioPlayer在暴露你的應用程序委託頭文件。

+0

即時消息得到兩個錯誤:收件人類型AppDelegateClass例如消息不聲明方法//暫停或播放AudioPlayer 我可能必須聲明它,但如何? – user840797

+0

- (void)startAudioPlayer {//在appdelegate.m文件中啓動音頻播放器的代碼}和 - (void)startAudioPlayer;在.h文件中 – thelaws

+0

你好,我很抱歉 – user840797