我正在使用AVPlayerViewController播放音频.使用它的原因是它提供并处理基本控制,即播放/暂停/滑块/音量.
现在,我需要设置此视图的背景图像.图像将从某个网络位置获取.我调试了AVPlayerViewController的视图层次结构.有一个图像视图.我不确定如何访问它,即使它是可能的
我不想使用AVPlayer或AVAudio播放器,因为在这种情况下我将必须处理所有控件.我怎么能这样做?
我正在使用其中AVPlayer显示正在播放的视频URL。它分为两个部分:
1.首先,我已经嵌入AVPlayer使用的视图的子层AVPlayerLayer,即
var player: AVPlayer?
func configure() {
let urlString = "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"
if let url = URL(string: urlString) {
self.player = AVPlayer(url: url)
let playerLayer = AVPlayerLayer(player: self.player)
playerLayer.frame = self.view.bounds
self.view.layer.addSublayer(playerLayer)
player.play()
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,正在播放视频。
2.其次,在UIButton水龙头上,我将AVPlayerViewController使用与AVPlayer我先前创建的实例相同的实例,即
@IBAction func onTapVideoButton(_ sender: UIButton) {
self.player?.pause()
let controller = AVPlayerViewController()
controller.player = self.player
self.present(controller, animated: true) {
self.player?.play()
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里面临的问题是,AVPlayerViewController打开后,视频停止播放,但音频仍在播放。
我要在和中同步视频。 …
AVPlayerViewController在播放视频时双击时放大.我正在寻找一个类似于故事的玩家.我已经删除了播放器控件,现在唯一与Snapchat不同的是它在双击时缩放.如何在不禁用用户交互的情况下删除双击?我仍然需要认识到接触下一个像Snapchat这样的视频.
AVPlayerViewController吗?UISlider值更改来刷新速度?这是我的问题:我有一个应用程序播放音频文件,通过更新锁屏信息MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo,这部分工作正常.
但在另一种观点中,我正在用AVPlayerViewController和播放视频AVPlayer,并且当视频开始播放时,它会自动更新锁定屏幕,除了视频持续时间之外什么也没有.
我没有在Apple的文档中找到任何关于此行为的内容,我找不到禁用它的方法.
到目前为止,我已经尝试UIApplication.sharedApplication().endReceivingRemoteControlEvents()在视频开始播放之前呼叫,beginReceivingRemoteControlEvents()之后.它不起作用.
有谁知道防止这种情况的方法?
ios avplayer mpnowplayinginfocenter swift avplayerviewcontroller
我有一个 AVPlayerViewController ,里面有一个 AVPlayer ,我需要的是播放器的控件(播放、暂停、时间滑块)永远不会隐藏。现在,在播放视频大约 4 秒后,它们就会隐藏起来,您必须点击屏幕才能再次显示它们。我无法找到解决方案......有什么想法吗?谢谢!
我正在使用苹果电视.我的UIViewController里面有一个UIView.我正在添加AVPlayerViewController作为我的UIView的子视图.UIView的框架是CGRect(x:50,y:50,宽度:1344,高度:756).我将AVPlayerViewController框架设置为等于我的UIView的框架.
问题是视频在其帧中播放得很好,但是暂停,播放,转发等控件是隐藏的,不起作用.但是当我将帧设置为CGRect(x:0,y:0,宽度:1920,高度:1080)时,控件是可见的并且正常工作.
我的代码如下:
let url = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
let item = AVPlayerItem(url: url!)
self.player = AVPlayer(playerItem: item)
self.avplayerController = AVPlayerViewController()
self.avplayerController.player = self.player
self.avplayerController.view.frame = videoPreviewLayer.frame
self.avplayerController.showsPlaybackControls = true
self.avplayerController.requiresLinearPlayback = true
self.addChildViewController(self.avplayerController)
self.view.addSubview(self.avplayerController.view)
self.avpController.player?.play()
Run Code Online (Sandbox Code Playgroud)
请帮忙.
我一直试图从Avplayerviewcontroller用户寻求时获取通知.我找到了一个方法,AvplayerControllerdelegate当用户擦洗时调用该方法但是没有调用该函数.
class ViewController: UIViewController, AVPlayerViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string:
"https://dl.pagal.link/upload_file/367/382/7491/Bollywood%20MP4%20Video%20Songs%202015/Super%20Girl%20From%20China%20-%20Sunny%20Leone%20Mp4/Super%20Girl%20From%20China%20-%20Video%20Song%20-%20Sunny%20Leone%20-%20MP4.mp4")
let player = AVPlayer(url: url!)
let playerController = AVPlayerViewController()
playerController.player = player
playerController.delegate = self
self.addChildViewController(playerController)
self.view.addSubview(playerController.view)
playerController.view.frame = self.view.frame
player.play()
}
func playerViewController(_: AVPlayerViewController, timeToSeekAfterUserNavigatedFrom: CMTime, to: CMTime){
print("Called when scrubb")
}
func playerViewController(_: AVPlayerViewController, willResumePlaybackAfterUserNavigatedFrom: CMTime, to: CMTime){
print("Called when scrubs")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Run Code Online (Sandbox Code Playgroud) 我不知道如何将视频旋转 90 度AVPlayerViewController,有人知道如何做到这一点吗?我不确定如何AVPlayerLayer像往常一样访问。
我正在使用AVPlayer来播放来自 url 的视频。
func playVideoFromUrl(urlString: String){
let videoURL = URL(string: urlString)
let player = AVPlayer(url: videoURL!)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
let delegate : AppDelegate = UIApplication.shared.delegate as! AppDelegate
delegate.window?.rootViewController?.present(playerViewController, animated: true) {
playerViewController.player!.play()
}
}
Run Code Online (Sandbox Code Playgroud)
的url of video: - “ http://gsn-input-dev.s3.amazonaws.com/public/video/00229/9229d4ad2a0c547e7bfa51e3fbef806f.mp4 ”
我没有在控制台收到任何警告。下面是模拟器的截图。我做错了什么?
avplayer ×9
ios ×8
swift ×7
avkit ×2
audio ×1
avfoundation ×1
iphone ×1
objective-c ×1
tvos ×1
uicontrol ×1