0

アプリで avaudioplayer を使用しています。on viewwilldisappear サウンドを一時停止/停止したいのですが、on viewwill が表示されます。サウンドをもう一度再生したいです。どうすればよいですか? 私はviewWillAppearでこのコードを使用しています:-

 if(self.TickPlayer)
 {
  [self.TickPlayer play];
 }
 if(self.TickPlayer.volume<0)
 {
  self.TickPlayer.volume=1.0;
 }

これはviewWillDisAppearにあります

 if(self.TickPlayer)
 {
        [self.TickPlayer stop];
 }

これがサウンドを再生するメソッドです

-(void)PlayTickTickSound:(NSString*)SoundFileName
{

//Get the filename of the sound file:
NSString *path = [NSString stringWithFormat:@"%@%@",[[NSBundle mainBundle] resourcePath],[NSString stringWithFormat:@"/%@",SoundFileName]];
//Get a URL for the sound file
 NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
 NSError *error;
if(self.TickPlayer==nil)
{
 self.TickPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:filePath error:&error];
  // handle errors here.
  self.TickPlayer.delegate=self;
  [self.TickPlayer setNumberOfLoops:-1];  // repeat forever
  [self.TickPlayer play];
 }
if(self.TickPlayer)
{
 [self.TickPlayer play];
}

}

タイマーを使用して毎秒起動するメソッドで呼び出しています

ビューでDidLoad-

 self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateCountdown) userInfo:nil repeats:YES]; 

-(void) updateCountdown {
   [self PlayTickTickSound:@"tick.caf"];
}

アラートが表示されたときに特定の条件でavaudioplayerを使用してビープ音を鳴らしています.これは正常に機能しますが、これは期待どおりに機能しません

4

1 に答える 1

1

大文字化の問題のように見えます-署名が正しくないため、viewWillDisAppear が呼び出されることはありません。正しい署名は次のとおりです。

- (void)viewWillDisappear:(BOOL)animated
于 2009-11-08T17:20:41.440 に答える