我正在使用SwiftAudio库打开本地URL,但是当我尝试打开包含文件名中的空格的URL时遇到问题。
例如,如果我尝试打开一个名为“ example_file.mp3”的文件,则此音频已成功打开。 但是,如果我尝试打开一个名为“ example file.mp3”的文件,则会发生错误:“在此服务器上找不到所请求的URL”。 我也尝试过用“ example%20file.mp3”替换名称,但出现相同的错误。
我写了这段代码:
var urlPath = "/Users/manuela/library/Developer/CoreSimulator/Devices/64E0D907-16AD-41A9-9667-4B3C701D4F1B/data/Containers/Data/Application/488A8AAD-EF4B-452D-9A8A-67307C489C72/library/example file.mp3"
urlPath = urlPath.addingPercentEncoding(withAllowedCharacters: .urlFragmentAllowed)!
print(urlPath) // this prints "/Users/manuela/library/Developer/CoreSimulator/Devices/64E0D907-16AD-41A9-9667-4B3C701D4F1B/data/Containers/Data/Application/488A8AAD-EF4B-452D-9A8A-67307C489C72/library/example%20file.mp3"
let url = URL(string: urlPath)!
let item = DefaultAudioItem(audioUrl: filePath,sourceType: .file)
let controller = AudioController()
try? controller.player.load(item: item,playWhenReady: true)
我确定问题是空格,但是我不知道用哪个字符替代它。 有人可以帮我吗?