【发布时间】:2012-01-11 19:23:43
【问题描述】:
我目前正在通过 AudioQueues 播放音频。我想允许用户连接到 Airplay 设备。
如果我创建一个 MPVolumeView 并使用“showsRouteButton”显示路由按钮,我可以成功连接。
有没有办法在不使用 MPVolumeView 的情况下将音频路由更改为 Airplay?还是更简单的 Apple 视图,只是路由按钮?
【问题讨论】:
标签: ios audio airplay audioqueue
我目前正在通过 AudioQueues 播放音频。我想允许用户连接到 Airplay 设备。
如果我创建一个 MPVolumeView 并使用“showsRouteButton”显示路由按钮,我可以成功连接。
有没有办法在不使用 MPVolumeView 的情况下将音频路由更改为 Airplay?还是更简单的 Apple 视图,只是路由按钮?
【问题讨论】:
标签: ios audio airplay audioqueue
1 隐藏 MPVolumeView 并使其成为全局变量
CGRect frame = CGRectZero;
frame.origin.y = 0;
frame.origin.x = 410; // out of the screen
_volumeView = [[MPVolumeView alloc] initWithFrame:frame];
[_volumeView setShowsVolumeSlider:NO];
[_volumeView setShowsRouteButton:YES];
[self.view addSubview:_volumeView];
2 模拟按钮磁带
- (IBAction)handleAirPlay:(id)sender {
for (UIButton *button in _volumeView.subviews)
{
if ([button isKindOfClass:[UIButton class]])
{
[button sendActionsForControlEvents:UIControlEventTouchUpInside];
}
}
}
【讨论】:
我认为没有其他方法可以显示 Airplay 路由按钮(至少在当前的 SDK iOS 5.1 中)。如果要显示 AirPlay 选项,则必须使用 MPVolumeView ..
【讨论】:
从 iOS 11 开始,您可以使用 AVRoutePicker :
import AVKit
let rpv = AVRoutePickerView()
view.addSubview(rpv)
【讨论】: