4

アプリでループしたいサウンドを再生しています。これに関する私の調査では、私の問題は完全に分類されていません。

私のコード.m

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


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

このようなものを入れる必要があると思います

numberOfLoops = -1;

しかし、numberOfLoops で宣言されていないエラーが発生するため、コードに実装する方法がわかりません。いくつかのアドバイスをいただければ幸いです

4

1 に答える 1

11

このような何かがあなたの問題を解決するはずです:

    NSString* resourcePath = [[NSBundle mainBundle] resourcePath];
    resourcePath = [resourcePath stringByAppendingString:@"/YOURMUSICNAME.mp3"];
    NSLog(@"Path to play: %@", resourcePath);
    NSError* err;

    //Initialize our player pointing to the path to our resource
    player = [[AVAudioPlayer alloc] initWithContentsOfURL:
                 [NSURL fileURLWithPath:resourcePath] error:&err];

    if( err ){
        //bail!
        NSLog(@"Failed with reason: %@", [err localizedDescription]);
    }
    else{
        //set our delegate and begin playback
        player.delegate = self;
        [player play];
        player.numberOfLoops = -1;
        player.currentTime = 0;
        player.volume = 1.0;
    }

次に、停止する場合:

[player stop];

または一時停止します。

[player pause];

また、ヘッダーファイルにインポートします。

#import <AVFoundation/AVFoundation.h>.   

もちろん、ヘッダーで宣言してから合成する必要があります。

//.h太字部分を追加します。

@interface ViewController : UIViewController < AVAudioPlayerDelegate > {

AVAudioPlayer *player;
}
@property (nonatomic, retain) AVAudioPlayer *player;

//.m

@synthesize player;
于 2012-07-07T15:35:41.263 に答える