首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用init修复AVAudioPlayer init中的错误

如何使用init修复AVAudioPlayer init中的错误
EN

Stack Overflow用户
提问于 2014-10-25 20:32:15
回答 1查看 938关注 0票数 0

这是我的代码,正在播放声音,但是在我更新到xcode 6.1之后,我得到了这个错误

调用中的额外参数'contentsOfURL‘

代码语言:javascript
复制
var alertSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("sound", ofType: "aiff")!)
//println(alertSound);

// Removed deprecated use of AVAudioSessionDelegate protocol
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)

var error:NSError?;
audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error); // the error
audioPlayer.prepareToPlay();

如何修复错误和xcode以停止显示它

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-07 19:02:25

在这一行:

代码语言:javascript
复制
audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error)

问题是alertSound现在是可选的,因为NSURL(fileURLWithPath:)可以返回零。你需要拆开它:

代码语言:javascript
复制
audioPlayer = AVAudioPlayer(contentsOfURL: alertSound!, error: &error)

这将允许您的代码编译。但是,在执行此操作之前,最好显式检查alertSound是否为零!如果它是零,直接展开它将导致崩溃。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26566962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档