gpt4 book ai didi

swift - AVPlayer 有选择地播放文档目录下的 MP3 音频文件

转载 作者:行者123 更新时间:2023-11-28 07:07:18 31 4
gpt4 key购买 nike

我正在编写一个播客应用程序,我希望用户播放他们下载的本地文件(如果存在)(而不是流式传输)。流媒体工作正常,但如果找到本地文件,则 AVPlayer 不会播放它(实际上,由于超出我的原因,大约五分之一的文件不是这样的——点击一个播客将在本地播放(我在飞机上模式来验证)。

我相信这是 this question 的 Swift 等价物,但我无法在 Swift 中实现该解决方案。

代码如下:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

var theURL = posts.objectAtIndex(indexPath.row).valueForKey("enclosure") as? String
var theMp3Filename = theURL!.lastPathComponent

for i in downloadedList {
if i as! String == theMp3Filename {
// If we've d/l'ed the mp3, insert the local path
theURL = documentsDirectory().stringByAppendingPathComponent(theMp3Filename)
var path: NSURL = NSURL.fileURLWithPath(theURL!)!
player = AVPlayer(URL: path)
player.play()

} else {
let podcastEpisode = AVPlayerItem(URL: NSURL(string: theURL!))
player = AVPlayer(playerItem: podcastEpisode)
player.play()
}
}
}

downloadedList 只是我用下载的文件名生成的数组。我正在进入本地条件,路径看起来是正确的,但 AVPlayer 通常无法正常工作。

任何指导将不胜感激。

最佳答案

在设置播放下载音频的路径变量后立即添加:

let asset = AVURLAsset(URL: path)
let playerItem = AVPlayerItem(asset: asset)
player = AVPlayer(playerItem: playerItem)
player.play()

关于swift - AVPlayer 有选择地播放文档目录下的 MP3 音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29993765/

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