0

ビューコントローラ内でボタンが押されたときに現在5秒のサウンドを再生するアプリがあります。この設定を、テーブルビューがある場合に特定のセルに触れてサウンドが再生されるように変更しようとしています。セルを選択して別のウィンドウにプッシュしてサウンドを再生するアクションは必要ありません。セルに触れるだけで音が鳴りたいだけです。

現在、ボタンの設定では、ViewControllerでサウンドを再生するために次のものがありました。

SoundLibViewController.h内

//サウンドファイルに関連付けられたUIButtonを識別します

-(IBAction)CarHorn:(id)sender;

@終わり

SoundLibViewController.mで

-(IBAction)CarHorn:(id)sender {
    CFBundleRef mainBundle = CFBundleGetMainBundle();
    CFURLRef soundFileURLRef;
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"CarHorn", CFSTR ("wav"), NULL);

    UInt32 soundID;
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
    AudioServicesPlaySystemSound(soundID); 
}

残念ながら、コードを変更してテーブルビューセルを組み込む方向を示すためのヘルプをオンラインで見つけることができません。

私がやろうとしていることの例をあげると:あなたはあなたのiPhone / iPadに入り、設定の下であなたは「音」を選択します。次に、「着信音」を選択すると、サウンドのリストが表示されます。サウンドに関連するセルを押すと、再生されます。それが私がやりたいことです。

4

1 に答える 1

0

あなたはあなたの中にこのようなものが必要ですUITableViewDelegate

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
        NSString * soundName = [self.soundNames objectAtIndex: indexPath.row]; // Assuming you have an array of sound names

        CFBundleRef mainBundle = CFBundleGetMainBundle();
        CFURLRef soundFileURLRef;
        soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef)soundName, CFSTR ("wav"), NULL);

        UInt32 soundID;
        AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
        AudioServicesPlaySystemSound(soundID); 
}
于 2012-07-06T14:42:49.833 に答える