相关疑难解决方法(0)

如何在airplay处于活动状态时自定义Airplay按钮

一直试图解决这个问题2天,我放弃了.我试图实现一个自定义的播放按钮(我必须背景是白色,按钮必须是黑色).我在interfacebuilder中添加了一个视图,并选择了mpVolumeView.然后我建立了连接并编写了以下代码;

viewDidLoad.. {
    .....

    [_volumeView setShowsVolumeSlider:NO];
    for (UIButton *button in _volumeView.subviews) {
        if ([button isKindOfClass:[UIButton class]]) {
            [button setImage:[UIImage imageNamed:@"airplay_icon.png"] forState:UIControlStateNormal];
            [button addObserver:self forKeyPath:@"alpha" options:NSKeyValueObservingOptionNew context:nil];
            [button addTarget:self action:@selector(switchAirplayButton) forControlEvents:UIControlEventTouchUpInside];
            [button sizeToFit];
        }
    }
    [_volumeView sizeToFit];

}

-(void)switchAirplayButton {

    for (UIButton *button in _volumeView.subviews) {
        if ([button isKindOfClass:[UIButton class]]) {

            NSLog(@"%d", _controlBar.player.airPlayVideoActive);

            if(_controlBar.player.airPlayVideoActive) {
                [button setImage:[UIImage imageNamed:@"airplay_icon_pressed.png"] forState:UIControlStateNormal];
            } else  [button setImage:[UIImage imageNamed:@"airplay_icon.png"] forState:UIControlStateNormal];

            [button sizeToFit];
        }
    }


}

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    if ([object …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c airplay

7
推荐指数
1
解决办法
5104
查看次数

iOS:Airplay选择器MPVolumeView替代品

我正在使用MPVolumeView为avplayer airplay播放选择airplay设备.是否有任何可能的非私有API替代方案,所以我可以提供自己的UI控件来挑选airplay设备?

通过引用API,我的意思是,我只需要:

  1. 能够将音频重新路由到特定于airplay设备的audioRoute.
  2. 重温播放设备名称.(获取所有可用的audioRoutes,然后获取airplay audioRoutes的说明)

我知道AudioToolbox框架提供了一些额外的API来处理AudioSession,但我发现重新路由音频的唯一方法是AVAudioSession:

- (BOOL)overrideOutputAudioPort:(AVAudioSessionPortOverride)portOverride  error:(NSError **)outError`
Run Code Online (Sandbox Code Playgroud)

只允许将音频重新路由到内置扬声器.也许还有其他方法如何在那里实现它?(我也只找到了如何检索AirplayDevice的名称作为currentAudioRoute的描述的方式 - 使用AVPlayer获取AirPlay设备的名称)

audiotoolbox ios airplay

4
推荐指数
1
解决办法
2920
查看次数

标签 统计

airplay ×2

audiotoolbox ×1

cocoa-touch ×1

ios ×1

objective-c ×1