0

叫びゲームを作りたいです。ユーザーがシャウト ボタンを押すと、サウンドが再生されます。私はコードを持っています。しかし、私の問題は次のとおりです。ユーザーがボタンに触れると、サウンドは良好に再生されますが、ボタンを非常に速く押すと、強調表示された画像がボタンによってゆっくりと変化します。ViewDidLoad でコードを使用すると、ボタンの画像が非常に速く変化しますが、サウンドの再生が遅くなり、遅延します。

ここに私のコードがあります:

NSString *path = [[NSBundle mainBundle] pathForResource:@"tap" ofType:@"mp3"];
    AVAudioPlayer *playOn =[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];

    playOn.delegate=self;


    [playOn play];
4

1 に答える 1

0

あなたが言ったようにあなたはボタンクリックでファイルを再生する必要があるので、ここではボタンクリックで小さなオーディオファイルを使用する必要があります

ここで、以下のメソッドがボタンクリックで呼び出されると仮定します。

- (void)playAudio{

  if([player isPlaying])
            {

             [self stopAudio];
            }
   } 
    /* Use this code to play an audio file */
    NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:pathOfFile ofType:@"mp3"];
    NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];

    player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
    player.numberOfLoops = 0; //o for play only once that file.
    player.delegate= self;
    isAudioPlaying = YES;
    [player play];
    //player is instance of AvAudioPlayer.
   //here write code for setting aND CHANging the image.
}


- (void)stopAudio
 {
 if (player!= nil) {
    [player stop];
 //do some task for changing the Image i.e setting the default image
 }

 }
于 2012-11-24T19:03:27.390 に答える