我需要下载一个mp3文件,但我只需要歌曲的前20秒(如果歌曲少于20秒,则需要整首歌曲).
这就是我下载整首歌的方式:
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()
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在20秒后停止下载?我知道我可以下载整首歌然后剪下来,但我想要更高效,特别是如果这首歌很长.
我搜索了很多,找不到任何相关的...我正在研究iOS音频文件,这就是我想要做的......
AVAudioRecorder)我有两个标记,即开始和结束偏移,并使用此信息我想修剪记录的文件,并希望保存回来.我不想使用"搜索",因为后来我想要同步播放所有录制的文件(就像时间轴中的flash影片剪辑一样),最后我想导出为一个音频文件.