我正在使用最新的Xcode,Xcode 5.0.2,我用iPad Simulator 7.0测试它,我的音频文件是m4a,在我的iPad上用GarageBand导入和编写,但是当我尝试播放它时,它会消失nil,我将AVFoundation.framework导入到我的项目中,这里是.h文件
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface NastyCansViewController : UIViewController
{
AVAudioPlayer *audioPlayer;
}
@end
这是 .m 文件。我使用 NSLog 查看我的 audioPlayer 是否为零。
- (void)viewDidLoad
{
NSURL *songURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/song.m4a"], NSBundle mainBundle] resourcePath];
NSError * error
audioPlayer = [[AVAudioPlayer alloc] initWithContentOfURL:songURL error:&error];
if (audioPlayer == nil) {
NSLog(@"audioPlayer is nil");
}
}
当我运行该应用程序时,NSLog出现并显示"audioPlayer is nil"我也尝试了很多其他代码,但我得到的只是零,请帮忙,谢谢
替换
NSLog(@"audioPlayer is nil");
使用以下代码获取错误信息:
NSLog(@"audioPlayer init error:%@", error);
尝试实现以下功能:
NSString *urlStr = [[NSBundle mainBundle] pathForResource:@"song" ofType:@"m4a"];
NSError *error = nil;
NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:urlStr]
options:NSDataReadingMappedIfSafe
error:&error];
audioPlayer = [[AVAudioPlayer alloc] initWithData:data error:&error];
if (audioPlayer == nil) {
NSLog(@"audioPlayer is init error:%@", error);
}