0

チュートリアルをフォローして他の投稿を見ていますが、アプリの起動時にオーディオの再生が自動的に開始されないようです。

私はwavファイルがバックグラウンドで再生されループし続けることを望んでいます。スタートやストップのコントロールなどはしたくない...

以下は、ViewController.mファイルにあるコードです(これは正しい場所ですか?)。AVFoundation.frameowrkを追加して、.mファイルにインポートしました。さらに、AlienRoomというwavファイルをサポートファイルに追加しました。どんな助けでも素晴らしいでしょう!私は新しいので、一歩一歩進むか、できればそれをはっきりさせてください。ありがとうございました!!!

psループさせるためのコードを追加していないので、どんな助けも素晴らしいでしょう!

//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];
}
4

1 に答える 1

0

ViewController.hAVAudioPlayerDelegateを実装する

@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];
    }
}
于 2013-03-15T01:11:14.367 に答える