ios - 变量闭包初始化问题

标签 ios swift initialization closures

在我的类(class)中,我有一个属性是一种 audioPlayer,我打算像这样在闭包中完成设置工作:

var urlPath = Bundle.main.url(forResource: "Focus", withExtension: "mp3")!

var audioPlayer:AVAudioPlayer = { var player =  try! AVAudioPlayer.init(contentsOf: urlPath)

    return player }()

Instance member 'urlPath' cannot be used on type 'BackgroundAudio'

enter image description here

我不太明白我的代码有什么问题?如何解决这个问题,提前致谢。

最佳答案

试试这个:

import AudioToolbox 
 import AVFoundation

let url = Bundle.main.url(forResource: "Focus", withExtension: "mp3")!

    do {
        player = try AVAudioPlayer(contentsOf: url)
        guard let player = player else { return }

        player.prepareToPlay()
        player.play()
    } catch let error as NSError {
        print(error.description)
    }

关于ios - 变量闭包初始化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45157899/

相关文章:

ios - 在 Objective-C 中播放背景音乐

iphone - SKPaymentQueue 崩溃于 'NotifyObserverAboutChanges'

c++ - 针对 "initialize()"方法而不是构造函数的参数

ios - UIView:如何在调用 initWithFrame 之前设置属性?

ios - 关闭 UITableViewController 更改 ADBannerView 位置

ios - 从 application(.... launchOptions : [NSObject: AnyObject]? ) 处的 launchOptions 获取值

ios - Xcode 5 在带有 WebView 的新 View Controller 中加载 URL

类中的 Swift 3 计时器未触发

ios - iPhone 7 不显示网页 View

C++11 构造函数和 operator= 的统一初始化