0

私はサウンドボードアプリを作成していて、30秒以上の持続時間のサウンドを使用しています。アクションを「タッチダウン」イベントにIBで接続してサウンドを再生していますが、一度開始するとサウンドは再生され続けます。いくつかのボタンで、音を止めるはずの「タッチキャンセル」と「タッチアップアウトサイド」イベントを接続しましたが、何らかの理由で停止しません。誰かが私の問題の解決策を提供できますか?

---編集---これが私のコードです:

-(IBAction)playSound:(id)sender {
     NSString *soundFile;
    soundFile = [[NSBundle mainBundle] pathForResource:@"testSound" ofType:@"mp3"];
    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:soundFile] error:nil];
    audioPlayer.volume = volumeSlider.value;
    audioPlayer.numberOfLoops = -1;
    [audioPlayer prepareToPlay];
    [audioPlayer play];
}

-(IBAction)stopSound:(id)sender {
    [audioPlayer stop];
}
4

2 に答える 2

1

私がしたことは、ボタンを押し下げることでした (アクションを実行するエバーント)。アクションをフックしました 1.) タッチダウン 2.) タッチ ドラッグ Enter

ボタンをオフにする (アクションをキャンセルする) には、ボタンに追加しました - 1.) Touch Up Inside 2.) Touch Up Outside 3.) Touch Cancel 4.) Touch Drag Exit

于 2012-10-19T04:55:43.243 に答える
0

「タッチアップの外側」とは、ボタンが押されたときに、ユーザーの指が移動してコントロールの外に持ち上がった場合を指します。

「内部のタッチアップ」イベントを探しているようです。

ただし、念のため、サウンドの開始と停止に使用しているコードを投稿する必要があります。

于 2012-10-10T23:43:13.400 に答える