gpt4 book ai didi

ios - 使用 AVPlayer 获取 AirPlay 设备的名称

转载 作者:技术小花猫 更新时间:2023-10-29 10:58:10 26 4
gpt4 key购买 nike

当在 MPMoviePlayerController 中启用 AirPlay 时,它会显示文本“此视频正在设备名称 上播放”。将 AirPlay 与 AVPlayer 一起使用时,是否可以通过编程方式获取设备名称?

最佳答案

从 iOS7 开始,currentRoute 的 AudioToolbox API 已弃用:

Apple 改为在 AudioSession 中为您提供 currentRoute API,这允许检索它的端口信息以及以一种很好的方式收听 audioRouteChangeNotification:

NSString* airplayName = [self activeAirplayOutputRouteName];
if (airplayName) {
//airplay is active

}

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(audioRouteHasChangedNotification:) name:AVAudioSessionRouteChangeNotification object:[AVAudioSession sharedInstance]];

(你要获取的是audioSession.currentRouteportDescriptionportType):

- (NSString*)activeAirplayOutputRouteName
{
AVAudioSession* audioSession = [AVAudioSession sharedInstance];
AVAudioSessionRouteDescription* currentRoute = audioSession.currentRoute;
for (AVAudioSessionPortDescription* outputPort in currentRoute.outputs){
if ([outputPort.portType isEqualToString:AVAudioSessionPortAirPlay])
return outputPort.portName;
}

return nil;
}

- (void)audioRouteHasChangedNotification:(NSNotification*)notification
{
//do something
}

关于ios - 使用 AVPlayer 获取 AirPlay 设备的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13044894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com