ios - 符合 AVAudioPlayerDelegate

标签 ios swift

我遇到了一些符合 AVAudioPlayerDelegate 的奇怪问题。以下正是我在一个全新的 Xcode 项目中所拥有的:

import UIKit
import AVFoundation

class ViewController: UIViewController {
  let audioPlayer = AVAudioPlayer()
  override func viewDidLoad() {
    super.viewDidLoad()
    audioPlayer.delegate = self
  }
}

extension ViewController: AVAudioPlayerDelegate {}

出于某种原因,每次在我设置委托(delegate)的行上我都会崩溃:Thread 1: EXC_BAD_ACCESS (code=1, address=0x8)

控制台是空的。

最佳答案

您必须使用 AVAudioPlayer 的有效初始化器之一; init() 不是其中之一(即使它可以编译)。

有效的是:

init(contentsOfURL url: NSURL) throws

init(data data: NSData) throws

init(contentsOfURL url: NSURL,
    fileTypeHint utiString: String?) throws

init(data data: NSData,
    fileTypeHint utiString: String?) throws

关于ios - 符合 AVAudioPlayerDelegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35417848/

相关文章:

ios - 一种在每次快速运行时重新加载 ViewDidLoad 的方法

ios - 使用内部应用程序凭据而不是用户凭据对 iOS 应用程序进行身份验证

swift - CorePlot 与 swift : there is no yAxis. MajorIntervalLength

swift - 无法下载使用 AVFoundation 的 apple-music

xcode - 更新到 Xcode 6.3 后通过 Parse 错误登录 Facebook

ios - 比较两个 UIImages Objective-c

cocoa-touch - 计算iOS中给定时间点之前的时间

ios - 清除角标(Badge)图标而不清除通知

ios - Apple CoreData 教程 : What does 'moc = ...' mean?

IoS/Swift - 如何将 iphone 相册中的图像显示到 uicollectionview 中?