AVPlayer播放不超过一次

Max*_*kin 3 avfoundation ios avplayer

通过AVPlayerItem和AVPlayer播放音频时,我遇到一些奇怪的问题。

我有录音机和iPod项目选择器,它们两者的流都经过这样的代码:

  AVAudioSession *audioSession = [AVAudioSession sharedInstance];
  [audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
  [audioSession setActive:YES error:nil];

  _playerItem = [[AVPlayerItem alloc] initWithURL:_soundFileURL];
  _player = [[AVPlayer alloc] initWithPlayerItem:_playerItem];
  [_player play];
Run Code Online (Sandbox Code Playgroud)

一切正常,除了一件事,我不能再播放此视频流第二或更长时间。它只是停止了,停止后没有声音。有人可以提供建议吗,可能是什么问题?

Naz*_*lam 6

在 Swift 4 中

您可以使用下面的线再次播放。

self.player?.seek(to: CMTime.zero)
self.player?.play()
Run Code Online (Sandbox Code Playgroud)

很高兴能帮助你 :)


Ian*_*ngs 5

您必须使用prepareToPlay并将AVPlayer设置回到流的开头,并将currentPlaybackTime设置为0。

self.avPlayer.currentPlaybackTime = 0;
[self.avPlayer prepareToPlay];
Run Code Online (Sandbox Code Playgroud)