我是一个Swift人回去做一些Objc工作而我正在尝试为我的应用添加声音,问题是,path
是null
时试图找到文件
该文件位于myProj/Resources/Sounds/genericButtonPress.wav
NSString *path = [[NSBundle mainBundle] pathForResource:@"myProj/Resources/Sounds/genericButtonPress" ofType:@"wav"];
NSLog(@"%@", path); // NULL
NSURL *url = [NSURL fileURLWithPath:path];
AVAudioPlayer *player = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:NULL];
[player play];
从文档来看,pathForResource
似乎必须是绝对的,但我也尝试使用genericButtonPress
作为我的字符串。
在这里会有所帮助。谢谢!
答案 0 :(得分:0)
我的解决方案是
ViewController.h
#import <UIKit/UIKit.h>
#import <AVKit/AVKit.h>
@interface ViewController : UIViewController
@property (nonatomic,strong)AVAudioPlayer *player;
- (IBAction)actionPlayAudio:(id)sender;
@end
ViewController.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize player;
- (void)viewDidLoad {
[super viewDidLoad];
}
- (IBAction)actionPlayAudio:(id)sender {
NSString *path = [[NSBundle mainBundle] pathForResource:@"youraudiofilename" ofType:@"wav"];
NSURL *soundFileURL = [NSURL fileURLWithPath:path];
player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
[player play];
}
答案 1 :(得分:0)
答案是:
请记住孩子,始终确保将您的文件分配给正确的目标,或者确保您的文件不会显示并且无法正常工作。特别是字体和音频文件。