停止 AVPlayer 并重新启动 MP3 文件

Posted

技术标签:

【中文标题】停止 AVPlayer 并重新启动 MP3 文件【英文标题】:Stop AVPlayer and restart MP3 file again 【发布时间】:2014-09-16 13:49:30 【问题描述】:

我想启动、暂停和停止(与重新启动相同)我的 mp3 文件,我正在使用 AVPlayer。我从服务器获取文件。

要开始我做的这首歌:

[self.player start];

暂停一下:

[self.player pause];

但是当我想停止歌曲并重新加载它,以便用户下次点击“开始按钮”时歌曲从头开始,我不知道该怎么做。

我尝试过这样的事情:

[self.player pause];
self.player = nil;

但是播放器当然是零,如果没有新的初始化,我无法再次重新启动文件。任何想法如何阻止它?

【问题讨论】:

[self.player seekToTime:CMTimeMakeWithSeconds(0, 5) completionHandler:nil] 从头开始​​播放。 完美,就像魅力一样,非常感谢! @Sandeep 第二个参数 (5) 是干什么用的? 【参考方案1】:

使用[player pause]停止视频

然后在开始播放视频时使用此代码。

[player seekToTime:kCMTimeZero];
[player play];

我比解决 OP 的评论更喜欢它 b/c 它消除了警告并使用了常量。

【讨论】:

【参考方案2】:

在 Swift 中执行此操作的最佳解决方案

player.seek(to: kCMTimeZero)
player.play()

斯威夫特 >= 4:

player.seek(to: .zero)
player.play()

【讨论】:

【参考方案3】: 在 Xamarin.ios

player.Seek(CoreMedia.CMTime.Zero);

播放器.Play();

【讨论】:

【参考方案4】:

seek#to 有一个完成处理程序。

p?.seek(to: .zero)
p?.rate = 1

是不正确的。您可以获得音频抖动

p?.seek(to: .zero)  [weak self] _ in
    self?.p?.rate = 1

可能是你想要的。

如果它已经在播放,而您只进行搜索而不进行其他操作,那么您可能会再次感到紧张。

你可能最好

p?.rate = 0
p?.seek(to: .zero)  [weak self] _ in
    self?.p?.rate = 1

如果它是一个非常重要的应用程序,您还必须考虑查找完成中的错误情况。

【讨论】:

【参考方案5】:

在 Swift 4 中:self.player.seek(to: CMTime.zero)

【讨论】:

【参考方案6】:
// If conti. play Video or audio apply this code



 [[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(playerItemDidReachEnd
                                                 :)
                                             name:AVPlayerItemDidPlayToEndTimeNotification
                                           object:[avPlayer currentItem]];
[avPlayer play];




 - (void)playerItemDidReachEnd:(NSNotification *)notification


NSLog(@"Replay video in method");
AVPlayerItem *p = [notification object];
[p seekToTime:kCMTimeZero];
  

【讨论】:

因为代码格式不好,缺乏解释,这个答案没有帮助。

以上是关于停止 AVPlayer 并重新启动 MP3 文件的主要内容,如果未能解决你的问题,请参考以下文章

启动和停止 segued AVPlayer 的功能是啥?

无法通过 AVPlayer 通过 HTTP 播放 mp3 文件

AvPlayer 正在下载 mp3 而不是流式传输

iOS,AVPlayer - 循环播放 MP3 片段

返回我的播放器应用后没有声音

迅速。在模拟器上播放良好的 mp3 文件,但在设备上播放时没有音量。 AVPlayer