Я работаю над приложением iOS, использующим SwiftUI, которое в основном записывает аудиофайл и сохраняет его в iCloud. Я могу открыть приложение «Файлы» на своем iPhone, войти в папку приложения и без проблем открыть и воспроизвести файл. Моя проблема в том, что я не могу воспроизвести файл в приложении. У меня нет ошибок в отладчике, но я ничего не слышу. Вот простой код, который я пробовал:
var audioPlayer: AVAudioPlayer!
do {
audioPlayer = try AVAudioPlayer(contentsOf: transcribeFile.filePath!)
try AVAudioSession.sharedInstance().setActive(true)
audioPlayer.prepareToPlay()
audioPlayer.play()
} catch {
print("error: cannot play file")
}
if audioPlayer.isPlaying {
print("play audioplayer")
}
, а вот еще один, который также не работает: (
let requiredAssetKeys = [
"playable"
]
let asset = AVURLAsset(url: transcribeFile.filePath!)
print("time: \(TimeInterval(CMTimeGetSeconds(asset.duration)))")
let item = AVPlayerItem(asset: asset, automaticallyLoadedAssetKeys: requiredAssetKeys)
let player = AVPlayer(playerItem: item)
player.automaticallyWaitsToMinimizeStalling = true
try? AVAudioSession.sharedInstance().setActive(true)
try? AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [])
player.play()
switch player.timeControlStatus {
case .waitingToPlayAtSpecifiedRate:
print("wait: \(player.reasonForWaitingToPlay!)")
case .playing:
print("playing")
case .paused:
print("paused")
}
второй код остается на .waitingToPlayAtSpecifiedRate
путь к файлу выглядит примерно так: file: ///private/var/mobile/Library/Mobile%20Documents/iCloud~com~devX~TranscribeRecord/Documents/2020-02-06/13-54-34.m4a
заранее спасибо!