SwiftUI - Как воспроизвести аудиофайл, сохраненный в iCloud - PullRequest
0 голосов
/ 06 февраля 2020

Я работаю над приложением 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

заранее спасибо!

...