问题标签 [avplayerview]

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 回答
2222 浏览

swift - Swift Mac OS - 如何在单击按钮时使用 AVPlayer 播放另一个视频/更改视频的 URL?

我是 swift 的新手,我正在尝试制作一个 Mac OS 应用程序,该应用程序在启动应用程序后使用 AVPlayer 作为窗口背景从应用程序的资源中循环播放视频。当用户选择菜单项/单击按钮时,背景视频将立即更改为与应用程序资源不同的视频,并开始循环播放该视频作为窗口的背景。

一旦应用程序按照本教程启动,我就能够播放第一个视频:(https://youtu.be/QgeQc587w70),并且我还成功地按照这篇文章无缝地制作了视频循环本身:(无缝循环 AVPlayer)。

我现在面临的问题是在选择菜单项/单击按钮后将视频更改为另一个。我要采用的方法是更改​​ url 并使用新 URL 创建一个新的 AVPlayer 并将其影响到 playerView.player 以下这篇文章:( Swift 如何在单击按钮时更新 AVPlayer 中视频的 url?)。但是,每次选择菜单项时,应用程序都会因错误“线程 1 exc_bad_instruction (code=exc_i386_invop subcode=0x0)”而崩溃。这显然是由 playerView 的值为 nil 引起的。我真的不明白为什么会这样,因为 playerView 是一个 AVPlayerView 对象,我使用 xib 文件创建并通过控制拖动链接到 swift 文件,我似乎找不到另一种合适的方法来做我想做的事情去做。如果您知道此问题的原因和解决方法,请为我​​提供一些帮助,或者如果您知道执行我上面提到的更好的方法,请也告诉我。任何帮助将非常感激!

我的代码如下,使应用程序崩溃的行在底部:

此外,背景视频不应该是交互式的(例如用户不能暂停/快进视频),因此任何可能由用户交互引起的问题都可以忽略。该应用程序的目的是在用户桌面上播放视频,创建与运行命令完全相同的效果:

终端中的“/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background”。

任何帮助将非常感激!

0 投票
3 回答
5504 浏览

ios - Swift:AVPlayer 播放视频显示此错误:[AVOutputContext] WARNING: AVF context available for sharedAudioPresentationContext

我正在尝试从捆绑目录播放视频,但出现此错误:

视频[29054:2968406] [MediaRemote] [AVOutputContext] 警告:sharedAudioPresentationContext 的 AVF 上下文不可用

这是我的实现:

你们中的任何人都知道我做错了什么吗?,我将非常感谢您的帮助。

0 投票
1 回答
344 浏览

ios - AVPlayerLayer 不在 iOS 11 中渲染离线 HLS 视频

我在 iOS 11 中遇到了一个奇怪的问题。我有一个应用程序,我在 AVPlayer 中播放 HLS 视频。如果开始播放视频音频后离线 HLS 视频,但视频内容未在 AVPlayerLayer 上呈现。此问题仅在 iOS 11 及更高版本中发生。它在 iOS 10 中完美运行。但同时在线 HLS 内容在 iOS 11 和 iOS 10 中完美播放。

这似乎是 iOS 11 中的一个错误,因为我在Apple 的示例代码中对其进行了检查。

我在 iOS 11 设备中运行示例代码进行检查。

如果这不是 iOS 11 中的错误,那么如何解决这个问题。

0 投票
1 回答
135 浏览

swift - Swift tvOS:获取 AVPlayerView 的屏幕中心

我正在为 tvOS 编写一个应用程序,它将视频从 URL 启动到 AVPlayerView 中,该 AVPlayerView 没有嵌套在另一个视图中。问题是,用户在加载时不知道发生了什么,所以我想在屏幕中央添加一个活动指示器。

但是,在加载视频时获取屏幕中心并不简单,因为在加载视频时视图的边界设置为 (0, 0, 0, 0),因此设置子视图的 center = view.center 不起作用(它只会在屏幕的左上角添加我的子视图)。

当框架设置为 (0, 0, 0, 0) 时,如何将子视图添加到屏幕中心?

0 投票
1 回答
238 浏览

objective-c - Xcode Objective-C Mac:如何将对象放在 AVPlayerView 之上?

我目前正在开发一款游戏。它播放一部电影,故事会根据玩家的动作而变化。我正在使用快速时间事件(在 x 秒内按下按钮)。当有一个快速时间事件时,我想显示必须按下的按钮以及按下该按钮的剩余时间。

我使用 AVPlayerView 播放电影。在该 AVPlayerView 之上,我放置了一个标签。但是标签总是看不见的。这是因为 AVPlayerView。

那么有人知道解决这个问题的方法吗?

编辑

我没有使用任何代码将标签放在 AVPlayerView 的顶部。我只是将它放在 MainMenu.xib 中。当我在 Xcode 中查看它时,它看起来像这样:

Xcode 中的屏幕截图

但是当我运行应用程序时,它看起来像这样:

Xcode 中的屏幕截图

正如您在第一张图片中看到的,所有对象都在“视图”下,并且标签在列表中显示在较低位置,因此它应该位于 AVPlayerView 的顶部。Xcode 在 AVPlayerView 顶部显示标签(图 1),但是当我运行应用程序时,标签位于 AVPlayerView 下方(图 2)。所以我的问题是如何在 AVPlayerView 上显示标签。

我希望这是足够的信息;)

0 投票
0 回答
45 浏览

macos - 在自己的 NSWindowController 中运行 AVPlayerView

我想在自己的窗口中运行 NSPlayer(带有 anNSPlayerView),我可以在其中显示有关我的应用程序的演示和教程视频。我从 IBOutlet NSPlayerView 开始。但是,当我打开包含视图的窗口 ([self.demoWindowController showWindow:self];) 时,应用程序在该行崩溃并显示错误“[setNilValueForKey]:无法将 nil 设置为键音量的值。” 如果我尝试将 NSPlayer 添加到窗口,也会出现同样的错误。就像是。

该应用程序在 ...addSubview 代码处崩溃并出现相同的错误。任何反馈/帮助将不胜感激

0 投票
1 回答
72 浏览

swift - 在 Cocoa Swift macOS 应用程序中,有没有办法将 AVPlayerView 子类化以获得圆角和阴影?

我有一个正在开发的 Cocoa Swift macOS 应用程序。我想获得一个带有圆角和阴影的 AVPlayerView。如果我在界面生成器中启用阴影,它会在那里正确显示,但在我运行应用程序时不会显示,并且我的子类中的 drawRect 永远不会被调用,所以我不知道在哪里绘制圆角。任何帮助深表感谢。谢谢

0 投票
1 回答
248 浏览

swift - 需要在 tvOS 的 AVPlayerView 上添加按钮和覆盖

我们可以添加按钮AVPlayerViewController并在其上显示覆盖,或者我们需要自定义控件。

0 投票
0 回答
151 浏览

swift - 检测视频剪辑是否受复制保护

我有一个读取视频剪辑(.mov、.m4v、.mp4...)的桌面 (macOS) 应用程序。应用程序将视频剪辑作为avAsset对象读取,如下所示。

我的问题是是否有办法判断所选视频剪辑是否受版权保护。该应用程序已在 Mac App Store 提供。我已经为它提交了软件更新。他们通过以下方式拒绝了它。

我们发现该应用程序允许用户选择受复制保护的文件,例如 .m4v,并且不会通知用户该文件无法转换/保存/修改。

似乎AVPlayerView有财产canBeginTrimming。以下返回false一个不受保护的视频剪辑。

我想一个极端的措施是在用户选择视频剪辑时不接受 M4V 格式。谢谢。

0 投票
1 回答
889 浏览

macos - 在 MacOS 上使用 AVPlayer 连接到名为 rtcreportingd 的服务时出错

我有一个非常简单的 MacOS 应用程序,我试图在 MacOS 上使用 AVPlayerView/AVPlayer 从远程 url 播放一个小的 mp4。

我经常收到有关连接到服务 com.apple.rtcreportingd 的错误。这是我收到的错误的完整日志:

播放似乎工作正常,但我仍然想知道如何让它停止。它隐藏了我正在打印的任何其他调试消息。

设置 AVPlayer 的代码非常简单。我有一个 NSCollectionViewItem,里面有一个 AVPlayerView。然后,我.player使用以下方式在视图上设置属性:

我广泛搜索,那里没有太多关于 rtcreportingd 的信息。