使用 AVplayer 从 s3 播放视频时出现问题

Posted

技术标签:

【中文标题】使用 AVplayer 从 s3 播放视频时出现问题【英文标题】:problems while playing video from s3 using AVplayer 【发布时间】:2017-08-02 09:37:48 【问题描述】:

大家好,我正在尝试使用 Avplayer 从 s3 播放视频。现在,如果我播放视频,视频会在整个视频缓冲后开始播放。所以我加了player.automaticallyWaitsToMinimizeStalling = false,但是现在视频自动暂停了

import UIKit
import AVFoundation
import AVKit
class ViewController: UIViewController 
    var player: AVPlayer!
    var item : AVPlayerItem!

    override func viewDidLoad() 
        super.viewDidLoad()
        item = AVPlayerItem(url: URL(string: "https://cent-churchconnect.s3-ap-southeast-2.amazonaws.com/cent-churchconnect/testAdmin/eb8cc8b5-80e0-468a-a2c9-979cf1b5ac76_toystory.mp4")!)
        player = AVPlayer(playerItem: item)
        let controller = AVPlayerViewController()
        present(controller, animated: true)  _ in 
        controller.player = player
        addChildViewController(controller)
        view.addSubview(controller.view)
        controller.view.frame = CGRect(x: 0, y: 50, width: self.view.frame.size.width, height: 300)
        controller.player = player
        controller.showsPlaybackControls = true
        if #available(ios 10.0, *) 
            player.automaticallyWaitsToMinimizeStalling = false
            player.play()
         else 
            // Fallback on earlier versions
        
    

【问题讨论】:

s3是什么意思? aws 服务 s3 存储桶 你找到解决办法了吗!同样的问题! 【参考方案1】:

以下步骤对我有用,我遇到了同样的问题, 尝试使用方法func playImmediately(atRate:),并确保属性player.automaticallyWaitsToMinimizeStalling = false设置正确。

【讨论】:

【参考方案2】:

使用方法func playImmediately(atRate:)代替func play()

【讨论】:

【参考方案3】:

我用的是可可豆荚https://github.com/piemonte/Player。

您可以使用委托方法来控制播放。

【讨论】:

以上是关于使用 AVplayer 从 s3 播放视频时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift Playground 中使用 AVPlayer 播放视频?

如何使用 avplayer 从文档目录播放视频文件

使用 AVPlayer 从远程 URL 播放视频

AVPlayer 播放错误的视频文件

同时播放两个 AVPlayer 音频文件时出现音频故障

AVPlayer 视频播放