4

この機能を使用して、iPhoneアプリでサウンドを再生しています。問題は、サウンドが再生されないことです。関数は正しく機能し、ファイルパスを正しく読み取ります。エラーは発生しませんが、サウンドが再生されません。

-(void) playSound : (NSString *) fName; {
    if ([audioPlayer isPlaying]) {
        [audioPlayer stop];
    }
    audioPlayer.volume = 1.0;
    soundpath = [NSString stringWithFormat:@"sounds/%@", fName];
    soundFilePath = [[NSBundle mainBundle] pathForResource:soundpath  ofType: @"mp3"];
    soundURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];
    NSError *error;
    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:&error];
    audioPlayer.numberOfLoops = -1;
    if (audioPlayer == nil){

    }
else {
    [audioPlayer play];
        if ([audioPlayer isPlaying]) {
            NSLog(@"%@", @"run");
     }
}
}
4

1 に答える 1

5

これを追加してみてください:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive:YES error: nil];
UInt32 route = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute, sizeof(route), &route);

私も同様の問題を抱えていましたが、プレイを呼び出す前にこれを追加すると、問題が解決しました。

于 2012-05-20T11:49:28.473 に答える