问题标签 [avplayerlayer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - AVPlayer 拉伸 HLS 视频的结尾
当 AVPlayer 到达视频结尾(对于 HTTP 实时流)时,最后一帧会拉伸以填充视图。我如何绕过这种拉伸?例如,考虑视频是以纵向模式录制的。在较小的视图中,视频将被装箱(带有黑色边框)。这很好,直到播放器到达流的末尾。最后一帧然后拉伸以填充视图,直到播放器重新启动。
关于如何阻止这种情况发生的任何想法?
编辑:见下面我的回答。如果有人对什么是体面的解决方法有任何建议,我仍然愿意为此提供赏金。
ios - iOS AVPlayerLayer 不播放本地视频
我一直在尝试让 AVPlayerLayer 在我的应用程序中播放从互联网上下载的视频。但是,尽管在线提供了所有帮助,但我似乎无法使其正常工作。这是代码:
这是输出:
该文件存在(在第 12 行证明),但它似乎没有正确加载视频(如第 15 行所示)。
奇怪的是,如果你给它一个远程 URL,它就可以完美地工作。(要看到这一点,请注释掉第一行并取消注释第二行。)
如果有人可以帮助我,那就太好了。
谢谢!
编辑:抱歉,如果您尝试运行视频,则无法在操场上播放视频。您必须将其放入应用程序并在模拟器中运行。
objective-c - 如何将 AVPlayerLayer 与 AVPlayer 分离?
我正在尝试在后台播放视频。我确实遵循了很多教程,但没有得到适当的结果。为此,我正在使用 AVPlayer。我遵循这个 url,只要应用程序状态处于活动状态,我就可以通过它播放我的视频。但是我想在后台播放音乐,因为我需要从 AVPlayer 中分离 AVPlayerLayer。但是每当我想在后台访问 avPlayerLayer 时,它都会返回 NULL。请帮助我。
这是我的代码:
ios - 如何从 AVPlayer 中分离 AVPlayerLayer 以在后台状态下播放视频?
我正在尝试在后台播放视频。我遵循了很多教程,但我没有得到适当的结果。为此,我正在使用 AVPlayer。只要应用程序状态处于活动状态,我就可以播放我的视频。但我想在后台播放音乐为此,我需要从 AVPlayer 中分离 AVPlayerLayer,如果您有任何替代解决方案,以便我可以在后台播放我的视频。请帮助我。
这是我的代码:
视图控制器.m
AppDelegate.m
ios - iOS:截屏呈现视频 ipad
我正在尝试截屏播放视频,但屏幕截图始终显示为空白。这是我的代码:
我正在使用 AVPlayer/AVPlayerLayer 播放视频。
你们中的任何人都知道为什么会发生这种情况吗?或者如果我需要对视频做一些特别的事情才能截取屏幕截图?
我会非常感谢你的帮助。
ios - AVPlayerLayer 视频不可见
我有一个iOS APP,可以播放视频。
它可以播放背景。
当应用程序退出活动时,我删除了 AVPlayerLayer,所以声音会继续。
当应用程序确实变得活跃时,我再次附加图层,所以视频回来了。
在 iOS8 和 iOS7 上一切正常。但是....
只有当我的播放器视图控制器不可见时,我才退出我的应用程序,然后返回并呈现我的播放器视图控制器,视频消失(仅 iOS7,iOS8 也可以正常工作)
有人知道吗?
uitableview - 可以“重用”AVPlayerLayer?从超级视图中删除以进行单元重用会影响我的表现
我创建了一个真正简单的播放器类,我将其添加为自定义 uitableviewcell 的属性。我对滚动相当满意,但认为它可能会更好。我有一个“清理”方法,我从播放器类中调用它来准备播放器以供重用。
这是“cleanPlayer”的代码
如果我从 cleanPlayer 方法中删除[self.avPlayerView removeFromSuperview]行,滚动效果非常棒,但是在滚动相当多次后,单元格停止播放视频并且错误的视频开始在单元格中显示。每次创建单元格时,重新添加代码都会导致轻微的“打嗝”,这有点烦人。任何有关正在发生的事情的见解将不胜感激。哦,我使用了探查器,但在确定原因方面没有发现任何有用的信息。提前致谢!
ios - 如何避免使用 avplayer 出现内存警告?
我正在用 swift 语言开发一个应用程序来重现一些实时流媒体或视频点播,我有 3 个视图控制器,第一个用于实时流媒体,第二个是带有视频点播 tuhmbnail 的集合视图并选择其中一个,它打开第三个视图控制器播放视频,但是当我从第三个视图控制器返回时,如果我选择一个新视频,调试器会说“收到内存警告”并且应用程序崩溃,但在此之前,我关闭了以前的视图控制器和将 AVPlayer 对象和 AVPlayerLayer 的值设置为 nil ,我不明白为什么会发生这种情况。可能取决于缓冲区 AVPlayerItem?可以设置吗?或者当我解雇我查看控制器时,我不会破坏他的实例?
ios - 过渡到背景,AVPlayer Video 有小的音频间隙
当我的应用程序进入后台时,我遵循了许多有用的先前问题,以使我的 AVPlayer 成功流式传输视频。Apple 的 QA1668 上描述了两种方法,它们都适用于我的流 url。
问题是在过渡期间存在明显的音频间隙,这两种方法都是相同的。在我的 iPhone 6 处于发布模式时,我会说差距小于 0.5 秒,这可能看起来并不可怕,但如果我正在播放音乐视频之类的东西,这会非常分散注意力。
经过更多测试后,当我删除 AVPlayerLayer 时(或者,如果我使用其他方法,当我禁用 AVMediaCharacteristicVisual 轨道时)似乎确实会出现这种差距,因为我已经确定如果我将这些操作连接到一个按钮,它仍然会发生而不是后台状态。
我的猜测是这与音频重新同步到 AVPlayer 的新视频状态有关,但我真的不知道。任何帮助将不胜感激!
ios - iOS:AVPlayer 实时流防止从后台返回时跳过播放
所以我正在开发一个使用 AVPlayer 和 AVPlayerLayer 播放实时视频和音频流的应用程序。当用户离开应用程序或锁定设备时,我想允许音频在后台播放,到目前为止它工作得很好。
我在 AppDelegate.m 中的代码基本上如下:
其中 playerView 是我的 AVPlayerLayer,streamPlayer 是我的 AVPlayer。
我遇到的问题是,当应用程序再次激活时,音频会跳过,流需要大约一秒钟才能稳定并再次正常播放。我想要实现的是让音频在后台播放,然后当应用程序再次激活时,音频不会中断,视频再次激活并同步到音频。
在 applicationDidBecomeActive 我尝试创建另一个连接到同一流的 AVPlayer 实例,但音频静音,然后将该播放器设置为 playerView 的播放器,这允许原始 AVPlayer 的音频不会被中断,但随后视频和音频不同步,因为它们来自不同的 AVPlayer,所以这不起作用。
有没有人有任何建议如何解决这个问题?