Objective c 让我的AVAudio播放器开始工作
我正在尝试使用Objective c 让我的AVAudio播放器开始工作,objective-c,avaudioplayer,Objective C,Avaudioplayer,我正在尝试使用AVAudioPlayer播放mp3。以下是我的代码: - (void) playClip { NSString *mp3File = [[NSBundle mainBundle] pathForResource:@"inFavor" ofType:@"mp3"]; AVAudioPlayer *avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:mp3File] error:
AVAudioPlayer
播放mp3。以下是我的代码:
- (void) playClip {
NSString *mp3File = [[NSBundle mainBundle] pathForResource:@"inFavor" ofType:@"mp3"];
AVAudioPlayer *avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:mp3File] error:NULL];
[avPlayer play];
}
我引用的文件名是“inFavor.mp3”
我对Objective-C有点陌生,所以我不太清楚为什么它不起作用。我正在使用Xcode 5。试试这段代码,您需要检查错误。粘贴出错的日志
NSError *error;
NSString *path = [[NSBundle mainBundle] pathForResource:@"inFavor"
ofType:@"mp3"];
AVAudioPlayer* avPlayer =
[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path]
error:&error];
if (error) {
NSLog(@"failed playing error: %@", error);
}else{
//avPlayer.delegate = self;
[avPlayer play];
}
使AVAudioPlayer成为类的属性,以便在函数超出范围时不会释放它
@property (strong, nonatomic) AVAudioPlayer* avPlayer;
然后用
self.avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:mp3File] error:NULL];
您是否已验证
mp3File
不是nil
?并利用error
参数记录问题。当有这么多问题涉及AVAudioPlayer时,您的问题有什么特别之处-1刚开始接触这一领域,正在寻求帮助。我的目的不是增加混乱。对于一个有经验的人来说,什么是显而易见的(或者是一个糟糕的问题),对于一个新手来说,什么是正常的。这可能有点吓人,因为对于每个回答问题的人来说,都有人告诉你这是一个愚蠢的问题/在以下行中:avPlayer.delegate=self;它给了我一条(黄色)错误消息,说“从不兼容的RJViewController*const_strong类型分配到id”