2013-03-15 172 views
0

我一直在關注教程,看着其他帖子,但我似乎無法讓音頻在我的應用程序啓動時自動開始播放。我的ios應用程序啓動時如何播放音頻?

我想讓wav文件繼續在後臺播放和循環播放。我不想要啓動和停止控制等...

下面是我在我的ViewController.m文件中的代碼(這是正確的地方?),我已經添加了AVFoundation.frameowrk並將其導入到我的。 m文件。此外,我已將我的名爲AlienRoom的wav文件添加到我的支持文件中。任何幫助都是極好的!我是新人,所以請一步一步來,或者如果可以的話,讓它真正清楚。謝謝!!!

p.s.我沒有添加代碼來使它循環,所以任何幫助都會很棒!

//play background sound upon opening app 

-(void) awakeFromNib 

{ 

NSString *path = [[NSBundle mainBundle] pathForResource: @"AlienRoom" ofType: @"wav"]; 
AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; 
[theAudio play]; 
} 
+0

ü要播放的聲音,而應用程序從睡眠狀態喚醒?或只是第一個應用程序加載? – 2013-03-15 01:08:03

+0

任何時候出現主視圖時,我都希望背景音頻連續播放。所以在第一次開放或返回到這個觀點。 – Herbie999 2013-03-15 01:09:27

回答

0

實施AVAudioPlayerDelegateViewController.h

@interface ViewController : UIViewController <AVAudioPlayerDelegate> 

@property(nonatomic,strong)AVAudioPlayer *theAudio; 

ViewController.m文件

-(void)viewWillAppear:(BOOL)animated 
{ 
    NSString *path = [[NSBundle mainBundle] pathForResource: @"AlienRoom" ofType: @"wav"]; 
    if(!self.theAudio) 
     self.theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; 
    self.theAudio.delegate = self; 
    [self.theAudio play]; 
} 

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)data successfully:(BOOL)flag{ 

    [NSThread detachNewThreadSelector:@selector(playAudioAgain) toTarget:self withObject:nil]; 

} 

- (void)playAudioAgain{ 

    [self.theAudio play]; 
} 

-(void)viewWillDisappear:(BOOL)animated 
{ 
    if(self.theAudio.isPlaying) 
    { 
     self.theAudio.delegate = nil; 
     [self.theAudio stop]; 
    } 
} 
+0

感謝您的幫助!你是說要把我的ViewController.h文件中的代碼?我在那裏和在.m上試過,但它似乎不起作用。 – Herbie999 2013-03-15 01:21:55

+0

加載ViewController.h後,你做了什麼?顯示另一個視圖?目前的模型視圖還是其他? – 2013-03-15 01:23:58

+0

我編輯了答案.. plz檢查它 – 2013-03-15 01:29:55

相關問題