ios - 使用 Xcode 中另一个场景中的按钮暂停音乐

标签 ios xcode swift avaudioplayer

因此,我有一段音乐在 AppDelegate 中开始播放(基本上当应用程序加载时),并且我希望在按下具有自己的 ViewController 类的设置场景上的按钮后使其停止。 如何才能实现这一目标?如何访问启动音乐的 appDelegate 类中的变量? 以下是在 AppDelegate 中启动音乐的代码:

var themeAudioURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("theme", ofType: "mp3")!)

var themePlayer = AVAudioPlayer()

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    themePlayer = AVAudioPlayer(contentsOfURL: themeAudioURL, error: nil)

    themePlayer.volume = 0.05
    themePlayer.numberOfLoops = -1
    themePlayer.play()
    return true
}

最佳答案

您可以将玩家传递到下一个场景。您可以在准备 segue 方法时执行此操作。或者,您可以在另一个 View Controller 中获取应用程序委托(delegate)并将其转换为您的应用程序委托(delegate)实现。

关于ios - 使用 Xcode 中另一个场景中的按钮暂停音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31039414/

相关文章:

ios - 在 native iOS 应用程序中启用自动播放

ios - 自定义标注 View 内的按钮没有响应(Swift)

ios - 在 ViewController 上获取初始化程序错误

swift - 如何使用 AVFoundation 制作视频填充框

xcode - 使用 Swift 通过 iPhone 扬声器强制播放音频文件

javascript - 在 JSContext 中暂停/停止评估脚本

ios - Swift 2 - UICollectionViewFlowLayout 的行为未定义,因为 :

ios - UIScrollView - 滚动或滑动?

Xcode 11 添加新的约束设置为零 : use set value instead of default/standard

swift - 如何在 SpriteKit swift 中将 NSTimer 作为参数传递给函数