我需要下載一個mp3文件,但我只需要歌曲的前20秒(或者如果歌曲少於20秒,整首歌曲)。
我這是怎麼下載整首歌曲:ios - 從mp3文件下載只有幾秒鐘
func downloadSong(audioUrl: URL) {
let documentsDirectoryURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let destinationUrl = documentsDirectoryURL.appendingPathComponent(audioUrl.lastPathComponent)
URLSession.shared.downloadTask(with: audioUrl, completionHandler: { (location, response, error) -> Void in
guard let location = location, error == nil else { return }
do {
try FileManager.default.moveItem(at: location, to: destinationUrl)
// song available in destinationUrl
} catch let error as NSError {
}
}).resume()
}
有沒有辦法阻止20秒後下載? 我知道我可以下載整首歌曲然後剪切它,但我想要更有效率,尤其是如果歌曲很長。
首先,下載20秒不會確保您可以播放20秒。沒有辦法100%確定你有20秒的音頻,你可能只想使用一個音頻流並且流文件並在20秒後停止流。或者在服務器上提供20秒mp3文件。 – rckoenes
@rckoenes你的權利我的意思是最大20秒,它可能更少 – Eyal
不可能我的兄弟,因爲首先確定歌曲的信息,並不知道如果20秒下載和MP3播放罰款可能有可能丟失任何幀在20秒比不播放mp3 –