Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVPlayer处于ReadyToPlay状态,但无法开始播放_Ios_Avfoundation_Avplayer_Avasset_Avurlasset - Fatal编程技术网

Ios AVPlayer处于ReadyToPlay状态,但无法开始播放

Ios AVPlayer处于ReadyToPlay状态,但无法开始播放,ios,avfoundation,avplayer,avasset,avurlasset,Ios,Avfoundation,Avplayer,Avasset,Avurlasset,以下是我开始视频的代码: let videoURL = NSURL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4") let playerAV = AVPlayer(url: videoURL! as URL) let playerLayerAV = AVPlayerLayer(player: playerAV) playerLayerAV.frame = ... self.view.layer.addSublayer(p

以下是我开始视频的代码:

let videoURL = NSURL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
let playerAV = AVPlayer(url: videoURL! as URL)
let playerLayerAV = AVPlayerLayer(player: playerAV)
playerLayerAV.frame = ...
self.view.layer.addSublayer(playerLayerAV)
playerAV.play()
我可以看到视频预览,我也可以看到它正在加载,我甚至可以移动滑块,看到预览正在改变我选择的时间。但是如果我按play键,什么也不会发生。我试图手动按下“播放”按钮,我试图以编程方式调用
.play
,“播放”按钮的状态更改为“| |”,但随后立即切换回“>”

我也在跟踪与播放器状态相关的调试信息,我注意到以下几点。就在我创建玩家时,状态如下:

Status: ReadyToPlay
TimeControl: WaitingToPlayAtSpecifiedRate
ReasonToWait: AVPlayerWaitingToMinimizeStallsReason
Time: {0/1 = 0.000}
Rate: 1
Loaded Time Ranges: [Location=0,Length=0]
它几乎可以立即更改其时间控制:暂停和速率:0:

Status: ReadyToPlay
TimeControl: Paused
ReasonToWait:
Time: {0/1 = 0.000}
Rate: 0
Loaded Time Ranges: [Location=0,Length=0]
在这两种情况下,它都显示
playerItem.LoadedTimeRanges
有一个元素,但当UI显示视频已完全加载并准备播放时,长度和位置为0


结果表明,视频、视图或控制器设置没有问题。由于共享
音频会话
的模式,视频已加载并准备好播放并立即暂停。它以前被设置为
.record
,以处理另一个应用程序用例

解决方案是恢复原始的
音频会话
模式,该模式包括播放,视频将在没有任何问题的情况下播放