0

これは可能な限り単純な AVAudioPlayer コードであり、再生に失敗しているだけです。エラーはなく、コンソールには何もありません。URL文字列をそこにないものに変更したかのように、ファイルは確実に見つかり、クラッシュします。ここで何が間違っていますか?デリゲートの有無にかかわらず、prepareToPlay の有無にかかわらず試してみましたが、何も得られません。サウンドファイルもいろいろ試しました。本当にこれで私の髪を引き裂きます!

@implementation ViewController

- (IBAction)playSound:(id)sender
{
    NSURL *soundLocation = [[NSURL alloc] initWithString:@"Lot01.wav"];
    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundLocation error:nil];
    [audioPlayer setDelegate:self];
    [audioPlayer play];
}

@end
4

2 に答える 2

6

問題の AVAudioPlayer に @property と @synthesize のペアを追加し、強いと宣言することで修正しました。これらのエラーはすべて解消され、問題なくファイルが再生されました。

于 2012-02-21T15:41:30.957 に答える
1

ファイルへのパスを正しく取得していないようです。おそらく、このようなことを試してください。

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Lot01" ofType:@"wav"];
NSURL *url = [NSURL fileURLWithPath:filePath];

次に、AVAudioPlayer を正確に初期化しますが、その場合は withContentsOfURL:url になります。

于 2012-02-20T14:28:46.650 に答える