2009-08-07 9 views
0

ボタンを押すと音が出るテーブルビューセルにボタンを置きます。ボタンを押すと音が止まります。しかし、別のボタンを押しても別のセルは再生されず、他のボタンはまだ再生されません。別のテーブル・セルで別のボタンを押すと、再生音が止まることを願っています。ここでボタンを押すと音が出るテーブルビューのセルにボタンを入れますが、

は、私は@interfaceブラケットAVAudioPlayer * talkSoundでこれを入力する.hファイル

私のコード

です。

.M

NSString *myExamplePath = [[NSBundle mainBundle] pathForResource:@"kumusta" ofType:@"m4a"]; 
if (talkSound.playing) { 
[talkSound stop]; 
[talkSound release]; 
} 
talkSound =[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:myExamplePath] error:NULL]; 
talkSound.delegate = self; /*with this here it says theres no delegate so i go an add AVAudioPlayerDelegate and i get tons of errors of connot find protocol declaration*/ 
[talkSound play]; 

答えて

1

これが問題であるかどうかは知りませんが、あなたはすべての時間を解放し、AVAudioPlayerを再割り当てする必要はありません。ただ、停止して、それは次のように、正常に動作する必要があります開始:

if (talkSound.playing) { 
    [talkSound stop]; 
} 
[talkSound play]; 

は、それからちょうどおそらくのviewDidLoadで、一度AVAudioPlayerのinit/ALLOCことができます。

関連する問題