AVAudioPlayer 在 viewDidLoad 之后为零



我正在使用最新的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);
}

相关内容

  • 没有找到相关文章

最新更新