微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用AVAudioPlayer播放本地音频文件

如何解决使用AVAudioPlayer播放本地音频文件

在iOS8下,您保存的路径在启动期间将无效。您看到的ID“ E5F13797-A6A8-48A1-B3C3-FBC3D7A03151”将随每次启动而更改。

解决方案是保存文件名而不是完整路径,并通过获取Documents(或tmp)文件夹的路径并将文件名附加到该路径来重新创建URL或完整路径。

解决方法

我正在模拟器中测试我的应用。

我正在下载文件,并以这种方式获取本地文件:
file:///Users/administrator/Library/Developer/CoreSimulator/Devices/4CDF286B-543F-4137-B5E2-C312E19B992F/data/Containers/Data/Application/E5F13797-A6A8-48A1-B3C3-FBC3D7A03151/Documents/4d13e04980d3.mp3

现在,我想使用AVAudioPlayer播放此文件,但是我总是遇到此错误:

file:///
Error Domain=NSOSStatusErrorDomain Code=2003334207 "(null)"

播放代码:

var alertSound = NSURL(fileURLWithPath: "file:///Users/administrator/Library/Developer/CoreSimulator/Devices/4CDF286B-543F-4137-B5E2-C312E19B992F/data/Containers/Data/Application/E5F13797-A6A8-48A1-B3C3-FBC3D7A03151/Documents/4d13e04980d3.mp3")
        print(alertSound)

        var error:NSError?
        do {
            try audioPlayer = AVAudioPlayer(contentsOfURL: alertSound)
            audioPlayer.prepareToPlay()
            audioPlayer.play()
        } catch {
            print(error)
        }

我应该如何播放?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。