- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用自定义 AVPlayerLayer
来显示一个简单的视频。我正在尝试添加 airplay 支持,但是点击该按钮时没有显示任何内容。
self.player.allowsExternalPlayback = true
...
let airplayButton = MPVolumeView(frame: self.airplayButtonPlaceholder!.bounds)
airplayButton.showsRouteButton = true
airplayButton.showsVolumeSlider = false
self.airplayButtonPlaceholder?.addSubview(airplayButton)
self.airplayButtonPlaceholder?.backgroundColor = UIColor.clear
当我运行我的代码(在真实设备上)时,我看到了按钮,但是当我点击它时,没有任何反应。是什么原因造成的?是因为我使用的是自定义 AVPlayerLayer
和 AVPlayer
吗?
编辑:
当我通过控制中心打开镜像时,我可以触摸按钮并显示弹出窗口。怎么回事?
最佳答案
没有任何反应,因为您没有正确配置这个“新窗口”。
有两种使用 Airplay 显示内容的方法。
镜像
不需要任何配置。
Note: You don’t need to do anything to make mirroring happen. In iOS 5.0 and later, mirroring—that is, displaying the same content on both the host device and the external display—occurs by default when the user selects an AirPlay video output device.
额外窗口
苹果描述的步骤是:
这是从苹果文档中获取的代码,供快速引用。
- (void)checkForExistingScreenAndInitializeIfPresent
{
if ([[UIScreen screens] count] > 1)
{
// Get the screen object that represents the external display.
UIScreen *secondScreen = [[UIScreen screens] objectAtIndex:1];
// Get the screen's bounds so that you can create a window of the correct size.
CGRect screenBounds = secondScreen.bounds;
self.secondWindow = [[UIWindow alloc] initWithFrame:screenBounds];
self.secondWindow.screen = secondScreen;
// Set up initial content to display...
// Show the window.
self.secondWindow.hidden = NO;
}
}
- (void)setUpScreenConnectionNotificationHandlers
{
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center addObserver:self selector:@selector(handleScreenDidConnectNotification:)
name:UIScreenDidConnectNotification object:nil];
[center addObserver:self selector:@selector(handleScreenDidDisconnectNotification:)
name:UIScreenDidDisconnectNotification object:nil];
}
- (void)handleScreenDidConnectNotification:(NSNotification*)aNotification
{
UIScreen *newScreen = [aNotification object];
CGRect screenBounds = newScreen.bounds;
if (!self.secondWindow)
{
self.secondWindow = [[UIWindow alloc] initWithFrame:screenBounds];
self.secondWindow.screen = newScreen;
// Set the initial UI for the window.
}
}
- (void)handleScreenDidDisconnectNotification:(NSNotification*)aNotification
{
if (self.secondWindow)
{
// Hide and then delete the window.
self.secondWindow.hidden = YES;
self.secondWindow = nil;
}
}
编辑:
当使用 AVPlayerViewController 时,它已经按照文档中的描述自动实现 here .
AVPlayerViewController automatically supports AirPlay, but you need to perform some project and audio session configuration before it can be enabled in your application.
关于ios - MPVolumeView Airplay 仅在镜像时触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46010067/
我正在尝试向我的应用程序添加一个 AirPlay 按钮并使用了以下代码: MPVolumeView *volumeView = [ [MPVolumeView alloc] init] ; [volu
我已经设法显示显示可用 airplay 设备列表的 airplay 弹出窗口,当我从可用设备列表中选择一个设备时,我想关闭该弹出窗口。有办法吗? 最佳答案 似乎无法使用代码执行此操作,您必须通过点击弹
我正在使用媒体播放器,某些媒体无权通过 Airplay 播放,不要问为什么 :)。所以当我得到那个媒体时,我设置了 movieplayerController.allowsAirplay = NO;
我已经尝试解决这个问题 2 天了,但我放弃了。我正在尝试实现一个自定义的 airplay 按钮(我必须这样做,因为背景是白色的,按钮必须是黑色的)。我在 interfacebuilder 中添加了一个
根据 Apple 的说法,您应该能够通过 airplay 流式传输普通的 html5 视频 https://developer.apple.com/library/ios/releasenotes/G
我需要在我的 Macbook 上现场演示 Mobile Safari 浏览器应用程序(iOS 5、iPhone 4S),并且想知道执行此操作的最佳方法吗? 我认为可能的一种方法是使用 AirPlay
目标是在 AirPlay 运行时在电视中查看 vtt 格式的 html 字幕。 html代码: 问题是当启用 AirPlay 时,电视上的视频和音频播放,但
自上次 OSX 更新(优胜美地)以来,我的本地主机服务器充满了来自 airplay 的错误消息(但我没有使用它)。每次都是一样的: [31/Oct/2014 05:40:42] code 400, m
我目前正在通过 AudioQueues 播放音频。我想允许用户连接到 Airplay 设备。 如果我创建一个 MPVolumeView 并使用“showsRouteButton”来显示我可以成功连接的
有没有办法在浏览器中使用 JavaScript 将图像、视频和音频发送到 AirPlay 服务器? 最佳答案 这在 JavaScript 中是不可能实现的。但是,您可以使用 NPAPI 从浏览器运行它
我正在尝试实现与 Music.app 相同的 AirPlay 按钮。该按钮会显示一个弹出窗口,其中包含可用设备列表,用户可以选择这些设备来重新路由音频。 在搜索我的问题时,我发现了 MPVolumeV
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
有人可以向我解释什么是 Airplay SDK 以及何时使用它、如何在程序中使用等细节吗?我希望,它用于将视频从 iPhone 流式传输到电视? 谢谢。 最佳答案 AirPlay SDK实际上是一个i
我们正在构建一个 iOS 应用程序,用户可以在订阅模式下观看视频。 我们不希望用户将视频播放到任何其他设备。 视频正在 UIWebView 中播放。 我检查了各种在线资源: https://devel
我在使用 AirPlay 时遇到了一些问题。问题是,我正在使用 ATV3 进行开发,而我的电视机支持 1080p。但是当我开始屏幕镜像并接收到 UIScreen 的新实例时,边界和 applicati
我遇到了一个问题,即 iOS 8 上的 airplay 路径选项弹出窗口绘制得太短,以至于用户甚至无法判断除了 iPad 之外还有其他选项可用。在随附的屏幕截图中,实际上有两个可用的 airplay
我看过但找不到访问音频输出路由的方法,因此我可以检测音频是否通过 AirPlay 输出。 这是我在 iOS 5.0 文档中找到的内容 kAudioSessionOutputRoute_AirPlay
我的应用程序使用麦克风并输出音频,因此我将我的 Audio Session 设置为播放和录制类别,但这似乎禁用了 Airplay。如果我将类别设置为播放,Airplay 可以很好地处理我的输出(但显然
我正在使用 AVPlayerViewController 在流中播放视频。 当我在 Apple TV 的 AVPlayerViewController 上启动 Airplay 并将应用程序置于后台,或
任何人都知道如何将音频流式传输到多个 AirPlay 目的地?显然,这在过去的某个时候可以通过 Core Audio 实现,但在 10.9 和 10.10 上,这似乎不可能。 iTunes 做到了,那
我是一名优秀的程序员,十分优秀!