问题标签 [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.

0 投票
1 回答
536 浏览

ios - AVPlayer 拉伸 HLS 视频的结尾

当 AVPlayer 到达视频结尾(对于 HTTP 实时流)时,最后一帧会拉伸以填充视图。我如何绕过这种拉伸?例如,考虑视频是以纵向模式录制的。在较小的视图中,视频将被装箱(带有黑色边框)。这很好,直到播放器到达流的末尾。最后一帧然后拉伸以填充视图,直到播放器重新启动。

关于如何阻止这种情况发生的任何想法?

编辑:见下面我的回答。如果有人对什么是体面的解决方法有任何建议,我仍然愿意为此提供赏金。

0 投票
1 回答
805 浏览

ios - iOS AVPlayerLayer 不播放本地视频

我一直在尝试让 AVPlayerLayer 在我的应用程序中播放从互联网上下载的视频。但是,尽管在线提供了所有帮助,但我似乎无法使其正常工作。这是代码:

这是输出:

在此处输入图像描述

该文件存在(在第 12 行证明),但它似乎没有正确加载视频(如第 15 行所示)。

奇怪的是,如果你给它一个远程 URL,它就可以完美地工作。(要看到这一点,请注释掉第一行并取消注释第二行。)

如果有人可以帮助我,那就太好了。

谢谢!

编辑:抱歉,如果您尝试运行视频,则无法在操场上播放视频。您必须将其放入应用程序并在模拟器中运行。

0 投票
1 回答
965 浏览

objective-c - 如何将 AVPlayerLayer 与 AVPlayer 分离?

我正在尝试在后台播放视频。我确实遵循了很多教程,但没有得到适当的结果。为此,我正在使用 AVPlayer。我遵循这个 url,只要应用程序状态处于活动状态,我就可以通过它播放我的视频。但是我想在后台播放音乐,因为我需要从 AVPlayer 中分离 AVPlayerLayer。但是每当我想在后台访问 avPlayerLayer 时,它都会返回 NULL。请帮助我。

这是我的代码:

0 投票
1 回答
927 浏览

ios - 如何从 AVPlayer 中分离 AVPlayerLayer 以在后台状态下播放视频?

我正在尝试在后台播放视频。我遵循了很多教程,但我没有得到适当的结果。为此,我正在使用 AVPlayer。只要应用程序状态处于活动状态,我就可以播放我的视频。但我想在后台播放音乐为此,我需要从 AVPlayer 中分离 AVPlayerLayer,如果您有任何替代解决方案,以便我可以在后台播放我的视频。请帮助我。

这是我的代码:

视图控制器.m

AppDelegate.m

0 投票
1 回答
624 浏览

ios - iOS:截屏呈现视频 ipad

我正在尝试截屏播放视频,但屏幕截图始终显示为空白。这是我的代码:

我正在使用 AVPlayer/AVPlayerLayer 播放视频。

你们中的任何人都知道为什么会发生这种情况吗?或者如果我需要对视频做一些特别的事情才能截取屏幕截图?

我会非常感谢你的帮助。

0 投票
0 回答
354 浏览

ios - AVPlayerLayer 视频不可见

我有一个iOS APP,可以播放视频。

它可以播放背景。

当应用程序退出活动时,我删除了 AVPlayerLayer,所以声音会继续。

当应用程序确实变得活跃时,我再次附加图层,所以视频回来了。

在 iOS8 和 iOS7 上一切正常。但是....

只有当我的播放器视图控制器不可见时,我才退出我的应用程序,然后返回并呈现我的播放器视图控制器,视频消失(仅 iOS7,iOS8 也可以正常工作)

有人知道吗?

0 投票
1 回答
1446 浏览

uitableview - 可以“重用”AVPlayerLayer?从超级视图中删除以进行单元重用会影响我的表现

我创建了一个真正简单的播放器类,我将其添加为自定义 uitableviewcell 的属性。我对滚动相当满意,但认为它可能会更好。我有一个“清理”方法,我从播放器类中调用它来准备播放器以供重用。

这是“cleanPlayer”的代码

如果我从 cleanPlayer 方法中删除[self.avPlayerView removeFromSuperview]行,滚动效果非常棒,但是在滚动相当多次后,单元格停止播放视频并且错误的视频开始在单元格中显示。每次创建单元格时,重新添加代码都会导致轻微的“打嗝”,这有点烦人。任何有关正在发生的事情的见解将不胜感激。哦,我使用了探查器,但在确定原因方面没有发现任何有用的信息。提前致谢!

0 投票
1 回答
1282 浏览

ios - 如何避免使用 avplayer 出现内存警告?

我正在用 swift 语言开发一个应用程序来重现一些实时流媒体或视频点播,我有 3 个视图控制器,第一个用于实时流媒体,第二个是带有视频点播 tuhmbnail 的集合视图并选择其中一个,它打开第三个视图控制器播放视频,但是当我从第三个视图控制器返回时,如果我选择一个新视频,调试器会说“收到内存警告”并且应用程序崩溃,但在此之前,我关闭了以前的视图控制器和将 AVPlayer 对象和 AVPlayerLayer 的值设置为 nil ,我不明白为什么会发生这种情况。可能取决于缓冲区 AVPlayerItem?可以设置吗?或者当我解雇我查看控制器时,我不会破坏他的实例?

0 投票
0 回答
210 浏览

ios - 过渡到背景,AVPlayer Video 有小的音频间隙

当我的应用程序进入后台时,我遵循了许多有用的先前问题,以使我的 AVPlayer 成功流式传输视频。Apple 的 QA1668 上描述了两种方法,它们都适用于我的流 url。

问题是在过渡期间存在明显的音频间隙,这两种方法都是相同的。在我的 iPhone 6 处于发布模式时,我会说差距小于 0.5 秒,这可能看起来并不可怕,但如果我正在播放音乐视频之类的东西,这会非常分散注意力。

经过更多测试后,当我删除 AVPlayerLayer 时(或者,如果我使用其他方法,当我禁用 AVMediaCharacteristicVisual 轨道时)似乎确实会出现这种差距,因为我已经确定如果我将这些操作连接到一个按钮,它仍然会发生而不是后台状态。

我的猜测是这与音频重新同步到 AVPlayer 的新视频状态有关,但我真的不知道。任何帮助将不胜感激!

0 投票
0 回答
577 浏览

ios - iOS:AVPlayer 实时流防止从后台返回时跳过播放

所以我正在开发一个使用 AVPlayer 和 AVPlayerLayer 播放实时视频和音频流的应用程序。当用户离开应用程序或锁定设备时,我想允许音频在后台播放,到目前为止它工作得很好。

我在 AppDelegate.m 中的代码基本上如下:

其中 playerView 是我的 AVPlayerLayer,streamPlayer 是我的 AVPlayer。

我遇到的问题是,当应用程序再次激活时,音频会跳过,流需要大约一秒钟才能稳定并再次正常播放。我想要实现的是让音频在后台播放,然后当应用程序再次激活时,音频不会中断,视频再次激活并同步到音频。

在 applicationDidBecomeActive 我尝试创建另一个连接到同一流的 AVPlayer 实例,但音频静音,然后将该播放器设置为 playerView 的播放器,这允许原始 AVPlayer 的音频不会被中断,但随后视频和音频不同步,因为它们来自不同的 AVPlayer,所以这不起作用。

有没有人有任何建议如何解决这个问题?