我正在使用SwiftUI开发iOS应用程序,该应用程序基本上是在录制音频文件并将其保存在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
文件路径如下所示: 文件:///private/var/mobile/Library/Mobile%20Documents/iCloud~com~devX~TranscribeRecord/Documents/2020-02-06/13-54-34.m4a
提前谢谢!