Я готовлюсь к URL одного метода AVURLAsset
:Неправильный адрес для AVURLAsset
+ (AVURLAsset *)URLAssetWithURL:(NSURL *)URL options:(NSDictionary *)options
Мой URL принадлежит к файлу, который написан на документ пути моего приложения. Результатом NSLog
пути является:
/var/mobile/Containers/Data/Application/E0E64E72-9A47-4E62-B9C6-818AB8BF3F4C/Documents/audio.wav
После получил NSString *path
, Я попытался преобразовать NSString в NSURL на [NSURL URLWithString:path]
и [NSURL fileURLWithPath:path]
, но оба они неверны для URLAssetWithURL
.
Ошибка URLWithString
является:
Ошибка домена = AVFoundationErrorDomain Code = -11800 "Операция может не может быть завершена" UserInfo = 0x170269f80 {NSUnderlyingError = 0x17405f440 «Операция не может быть завершена (. OSStatus ошибки -12780.)», NSLocalizedFailureReason = произошла неизвестная ошибка (-12780), NSLocalizedDescription = операция не может быть завершена}
И fileURLWithPath
разбил приложение.
Я знаю, что url = [[NSBundle mainBundle] URLForResource:fileURL withExtension:@"wav"]
соответствует ситуации. Но я хочу, чтобы URL-адрес локального файла соответствовал URLAssetWithURL
. Есть идеи? Благодарю.
Параметр 'fileURLWithPath' это правильный путь, чтобы преобразовать путь к файлу URL. Вы говорите, что это «разбило приложение». Что именно произошло? Был ли URL-адрес файла в порядке? Вы подтвердили, что файл был найден в этом месте? – Rob
@Rob Когда он разбился, Xcode только отобразил сообщение: terminate called throwing exception (lldb). И авария произошла до того, как URL-адрес файла может быть подключен к консоли (тот же код, за исключением замены URLWithString файломURLWithPath). При использовании URLWithString URL-адрес файла был «file: ///var/mobile/Containers/.../Documents/audio.wav». – WangYudong