Tenho um aplicativo iOS que tenta ler um arquivo de áudio usando um AVAssetReader de um servidor remoto. No entanto, o AVAssetReader nunca é criado, durante a criação ele gera um erro "Processo abortado". O que há de errado com esse código?
BTW: A URL/recurso é acessível e válido. Posso reproduzir o arquivo no mesmo aplicativo usando o VideoPlayPlayer do SwiftUI!
if let url = URL(string: "https://my-server.com/audio.m4a") {
let asset = AVURLAsset(url: url, options: nil)
print(asset) // looks OK
do {
let assetReader = try AVAssetReader(asset: asset)
print(#fileID, #function, assetReader) // never reached
} catch {
print(#fileID, #function, error.localizedDescription) // instead I get error 'Vorgang gestoppt'
}
}
Alguma ideia?
A documentação do AVAssetReader diz que
e
AVComposition
a documentação do arquivo de cabeçalho dizentão parece que
AVAssetReader
só é possível ler ativos baseados em arquivo ou composições de ativos baseados em arquivo e não ativos remotos.