gpt4 book ai didi

xcode - 如何在 Swift 应用程序中访问声音文件

转载 作者:搜寻专家 更新时间:2023-10-31 22:22:47 25 4
gpt4 key购买 nike

所以我正在创建一个 iPhone 应用程序,它可以在 Swift 中下载声音文件,我有一个问题。使用 Xcode 和 iOS 模拟器,我能够成功地将我需要的音频文件下载到模拟器上。我发现正在下载的文件在我的 OSx 机器上的这个目录中:

OS X -> 用户 -> “我的名字” -> 库 -> 开发人员 -> CoreSimulator -> 设备 -> 96CDD... -> 数据 -> 6B742... -> 文档

现在我的问题是,我知道我在应用程序内部的设备上有音频文件,但我如何访问它们然后从应用程序本身播放它们?我试图只使用 AVAudioPlayer,但我一直未能成功访问该文件。这是我尝试运行的代码,它位于 viewDidLoad 函数中:

    var playYoda = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Documents/do_or_do_not", ofType: "wav")!)
println(playYoda)

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)

var error:NSError?
audioPlayer = AVAudioPlayer(contentsOfURL: playYoda, error: &error)
audioPlayer.prepareToPlay()
audioPlayer.play()

我的所有代码都可以编译,但是当我启动模拟器时,我收到了这个错误: fatal error :在展开可选值时意外发现 nil链接(var playYoda = ...)。

不知道是我的音频文件路径不对,还是我AVAudioPlayer做错了。任何帮助将不胜感激。

最佳答案

怎么样:

let fileManager = NSFileManager.defaultManager()

let urls = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)

if let documentDirectoryURL: NSURL = urls.first as? NSURL {
let playYoda = documentDirectoryURL.URLByAppendingPathComponent("do_or_do_not.wav")

println("playYoda is \(playYoda)")
}

关于xcode - 如何在 Swift 应用程序中访问声音文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29809854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com