1

imageViewでtouchEventを呼び出したい。imageViewに触れると、Imageのピクセルを取得したい。これを使用している:-

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
[sampleImage setBackgroundColor:[UIColor redColor]];
//CGPoint location = [touch locationInView:self.view];
if ([touch view] == sampleImage) 
{

    url1 = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/Na.wav", [[NSBundle mainBundle] resourcePath]]];
    [sampleImage setBackgroundColor:[UIColor colorWithRed:10.0/255.0 green:10.0/255.0 blue:10.0/255.0 alpha:1.0]];
}
NSError *error;
audio = [[AVAudioPlayer alloc] initWithContentsOfURL:url1 error:&error];
audio.numberOfLoops = 0;
[audio play];
[sampleImage setBackgroundColor:[UIColor redColor]];   
}

それは可能ですか?はいの場合は助けてください。前もって感謝します。

4

2 に答える 2

3

イメージビューにジェスチャレコグナイザーを追加し、デリゲートにサウンドの再生を処理させる必要があります。

viewDidLoadで、以下を実装します。

UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGesture:)];
    tap.numberOfTapsRequired = 1;
    [YourImageView addGestureRecognizer:tap];
    [tap release];

コードに、デリゲートとサウンドを次のように再生することができます。

- (void)tapGesture:(UIGestureRecognizer*)sender {
NSString *path = [[NSBundle mainBundle] pathForResource:@"YourSound" ofType:@"mp3"];

    AVAudioPlayer * theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];
    [theAudio release];
}

どうぞ!

編集:


touchesMovedで上記のオプションを使用するには、以下を実装します。

- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *) event {
        UITouch *touch = [[event allTouches] anyObject];
            CGPoint location = [touch locationInView:self.view];
        if ([touch view] == YourImageView) {
        //play the sound
        NSString *path = [[NSBundle mainBundle] pathForResource:@"YourSound" ofType:@"mp3"];

            AVAudioPlayer * theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
            theAudio.delegate = self;
            [theAudio play];
            [theAudio release];

        }
    }

そこに行きます:)

于 2012-04-10T11:13:04.553 に答える
0

あなたはあなたのようUITapGestureRecognizerに使用することができ、設定することができtargetますimageview

ここに画像の説明を入力してください

于 2012-04-10T11:02:44.350 に答える