У меня есть два класса, в одном из которых я инициализирую SystemSoundID, а затем в методе, который ссылается на фактический звуковой файл. Но когда я вызываю методы в своем MainViewController и воспроизводю их через IBAction, звук не воспроизводится.
Звук.ч:
#import <Foundation/Foundation.h>
#import <AudioToolbox/AudioServices.h>
@interface TheSound : NSObject {
SystemSoundID yayFileID;
}
@property(nonatomic) SystemSoundID yayFileID;
- (void) initSound;
@end
Звук.м:
#import "TheSound.h"
#import <AudioToolbox/AudioServices.h>
@implementation TheSound
@synthesize yayFileID;
- (void) initSound {
NSString *yayPath = [[NSBundle mainBundle] pathForResource: @"yay" ofType: @"wav"];
CFURLRef yayURL = (__bridge CFURLRef) [NSURL fileURLWithPath:yayPath];
AudioServicesCreateSystemSoundID(yayURL, &yayFileID);
}
@end
MainViewController.h:
#import <UIKit/UIKit.h>
#import "TheSound.h"
@interface MainViewController : UIViewController
- (IBAction) playSound: (id) sender;
@end
MainViewController.m:
#import "MainViewController.h"
#import <AudioToolbox/AudioServices.h>
#import "TheSound.h"
@interface MainViewController ()
@property SystemSoundID yayFileID;
@property (nonatomic) TheSound *foo;
@end
@implementation MainViewController
@synthesize foo;
- (void)viewDidLoad {
[foo initSound];
[super viewDidLoad];
}
- (IBAction)playSound:(id)sender {
AudioServicesPlaySystemSound(_yayFileID);
}
@end
Помощь относительно того, что я делаю неправильно, будет высоко оценена! Заранее спасибо!