让音频播放器快速工作(xcode 7.1.1)?

Posted

技术标签:

【中文标题】让音频播放器快速工作(xcode 7.1.1)?【英文标题】:Making audio player work in swift (xcode 7.1.1)? 【发布时间】:2015-11-26 13:43:30 【问题描述】:

我正在尝试使用 swift 组合在一起的音频播放器出现问题,该播放器专为在游戏应用程序中使用而构建。下面的代码是我所拥有的。我的主声音文件夹中的单独子组中已经有所有 mp3 文件,但我不明白为什么无法识别 NSURL。

导入 UIKit 导入 SpriteKit 导入 AVFoundation

类 GameViewController: UIViewController

var backgroundMusicPlayer:AVAudioPlayer = AVAudioPlayer()

override func viewDidLoad() 
    super.viewDidLoad()

        
override func viewWillLayoutSubviews() 

    var BGMusicURL:NSURL = NSBundle.mainBundle().URLForResource("BGMusicURL", withExtension: "mp3")
    backgroundMusicPlayer = AVAudioPlayer(contentsOfURL: bgMusicURL, error: nil)
    backgroundMusicPlayer.numberOfLoops = -1
    backgroundMusicPlayer.prepareToPlay()
    backgroundMusicPlayer.play()

如果有人可以帮助我更新我的代码,那就太好了,(我是 swift 的初学者,我相信你会说出来)

谢谢

【问题讨论】:

【参考方案1】:

旧答案: 尝试使用 AVPlayer 而不是 AVAudioPlayer

编辑/新答案:尝试添加!在 var URLForResource 的末尾,这就是你强制展开的方式,所以它可能会起作用

像这样

var BGMusicURL:NSURL = NSBundle.mainBundle().URLForResource("BGMusicURL", withExtension: "mp3")!

【讨论】:

感谢 Petar 的回复!我刚刚尝试过,它似乎没有任何东西。它说 URLForResource 没有解包,并且它不能为 AVPlayer 调用初始化程序。我相信我最终会弄明白的 不幸的是没有:(我真的不知道该怎么办! @SamuelJones 您尝试过编辑/新答案解决方案吗?

以上是关于让音频播放器快速工作(xcode 7.1.1)?的主要内容,如果未能解决你的问题,请参考以下文章

Javascript 音频不会停止并同时播放多个音轨

从频率,和弦在python中播放流声音

音频录制和播放环回缓冲区问题,将数据写入音轨时出现问题

从 mp4 中提取音轨并将其保存到可播放的音频文件中

chrome音频分析仪在音频开关上中断

在 Xcode 中,哪些音频文件类型可以无缝循环?