使用 AVplayer 从 s3 播放视频时出现问题
problems while playing video from s3 using AVplayer
大家好,我正在尝试使用 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
}
}
}
使用方法func playImmediately(atRate:)
代替func play()
我使用了 cocoa pod https://github.com/piemonte/Player。
您可以使用委托方法来控制播放。
我遇到了同样的问题,下面的步骤对我有用,
尝试使用方法 func playImmediately(atRate:)
并确保 属性 player.automaticallyWaitsToMinimizeStalling = false
设置正确。
大家好,我正在尝试使用 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
}
}
}
使用方法func playImmediately(atRate:)
代替func play()
我使用了 cocoa pod https://github.com/piemonte/Player。
您可以使用委托方法来控制播放。
我遇到了同样的问题,下面的步骤对我有用,
尝试使用方法 func playImmediately(atRate:)
并确保 属性 player.automaticallyWaitsToMinimizeStalling = false
设置正确。