【问题标题】:Audio Route Button - AirPlay音频路由按钮 - AirPlay
【发布时间】:2012-01-11 19:23:43
【问题描述】:

我目前正在通过 AudioQueues 播放音频。我想允许用户连接到 Airplay 设备。

如果我创建一个 MPVolumeView 并使用“showsRouteButton”显示路由按钮,我可以成功连接。

有没有办法在不使用 MPVolumeView 的情况下将音频路由更改为 Airplay?还是更简单的 Apple 视图,只是路由按钮?

【问题讨论】:

    标签: ios audio airplay audioqueue


    【解决方案1】:

    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];
                }
            }
    }
    

    【讨论】:

      【解决方案2】:

      我认为没有其他方法可以显示 Airplay 路由按钮(至少在当前的 SDK iOS 5.1 中)。如果要显示 AirPlay 选项,则必须使用 MPVolumeView ..

      【讨论】:

      • 我发现我可以自定义 MPVolumeView,所以这将起作用 mAirPlayBtn.showsVolumeSlider = false;
      【解决方案3】:

      从 iOS 11 开始,您可以使用 AVRoutePicker :

      import AVKit 
      
      let rpv = AVRoutePickerView()
      view.addSubview(rpv)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-10
        • 1970-01-01
        相关资源
        最近更新 更多