AVPlayer耳机插拔

2023-11-12

AVPlayer耳机插拔暂停播放。

//耳机插拔监听
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(audioRouteChanged:) name:AVAudioSessionRouteChangeNotification object:[AVAudioSession sharedInstance]];
- (void)audioRouteChanged:(NSNotification *)noti {
    NSDictionary *dict = noti.userInfo;
    NSInteger reason = [[dict valueForKey:AVAudioSessionRouteChangeReasonKey] integerValue];
    switch (reason) {
        case AVAudioSessionRouteChangeReasonNewDeviceAvailable:
            
            break;
        case AVAudioSessionRouteChangeReasonOldDeviceUnavailable:
        {
            AVAudioSessionRouteDescription *routeDes = dict[AVAudioSessionRouteChangePreviousRouteKey];
            AVAudioSessionPortDescription *portDes = routeDes.outputs[0];
            NSString *portType = portDes.portType;
            //耳机接口
            if ([portType isEqualToString:AVAudioSessionPortHeadphones])
            {
                //如果当前正在播放,拔掉耳机,暂停播放
                if (_playerState == VHAVPlayerStatePlaying)
                {
                    [self pause];
                }
            }
        }
            break;
        case AVAudioSessionRouteChangeReasonCategoryChange:
            // called at start - also when other audio wants to play
            
            break;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AVPlayer耳机插拔 的相关文章

  • 让AVPlayer填满整个屏幕

    我有一个应用程序 我希望在单个视图的背景中播放视频 我所做的是创建一个AVPlayer 将其添加到AVPlayerLayer并将其作为子层添加到我的视图中 然后我设置框架和videoGravity财产 self player AVPlaye
  • AVQueuePlayer 的预缓冲

    有谁知道如果AVQueuePlayer开始缓冲下一个AVPlayerItem当前项目何时即将结束播放 我知道文档中没有任何内容表明这一点 我主要是问是否有人观察到这种行为 好的 我再次查看了这个问题并编写了一些代码来检查AVQueuePla
  • AVPlayer 动态音量控制

    如何动态更改 AVPlayer 的音量 我的意思是 我想在每次按下按钮时将音量静音 给定的代码似乎仅在编译时更改它 运行时怎么办 AVURLAsset asset AVURLAsset URLAssetWithURL self myAsse
  • 使用 AVPlayer 时保持良好的滚动性能

    我正在开发一个有集合视图的应用程序 并且集合视图的单元格可以包含视频 现在我正在使用以下方式显示视频AVPlayer and AVPlayerLayer 不幸的是 滚动性能很糟糕 这好像是AVPlayer AVPlayerItem and
  • Swift 中的音频播放进度为 UISlider

    我看过一些关于在 Objective C 中实现这一点的帖子 但我无法通过 Swift 做到这一点 具体来说 我不知道如何实施addPeriodicTimeObserverForInterval在下面 var player AVAudioP
  • AVPlayer 直播时的问题 (iOS)

    我有 AVPlayer 问题 1 如何控制音量 2 如何知道AVPlayer是否因为连接不良而重新加载音乐 我有一些指示吗 AVPlayer使用系统音量 因此如果您需要为此提供控件 您可以使用MPVolumeView这为您提供了音量控制滑块
  • AVPlayer - 为 CMTime 添加秒数

    如何将当前的播放时间增加 5 秒 实际上这是我的代码 CMTime currentTime music currentTime 我无法使用 CMTimeGetSeconds 因为我需要 CMTime 格式 谢谢您的回答 编辑 如何为 CMT
  • AVPlayer - 播放时切换流质量

    我在用着AVPlayer为了播放 youtube 视频 对于每个 youtube 视频 ID 我检索几个不同质量的流 url 我想根据网络状态播放特定的流质量 例如 如果用户使用 3G 我想播放最低质量的 URL 但如果用户移动到 wifi
  • 加载 AVPlayer 时出现错误线程 1:EXC_BAD_ACCESS (code=EXC_I386_GPFLT)

    当我选择一个collectionViewCell时 我试图加载一个AVPlayer 这是我的代码didSelectItem func collectionView collectionView UICollectionView didSel
  • 为什么 AVPlayer 在同一个会话中询问多个联合范围?

    我想知道为什么 AVPlayer 会问 请求中的联合范围 例子 1 我们有良好的无线网络连接 2 轨道总长度 1000000 AVPlayer 首先会询问bytes 0 1 没关系 它只是 ping 轨道的可用性 但之后它会问bytes 0
  • 如何找到AVPlayer当前比特率

    我正在尝试获取 AVPlayer 播放视频流的比特率 我尝试过observed bit rate的财产AVPlayerItemAccessLogEvent 但它具有非常高的价值 经过进一步探索Observed bit rate财产 我了解该
  • 暂停播放时 MPNowPlayingInfoCenter 未正确反应

    我试图让 MPNowPlayingInfoCenter 在暂停播放时正常工作 我有一个使用 AVPlayer 进行播放的流媒体音乐应用程序 并且我正在通过 Airplay 在 Apple TV 中播放 除了暂停之外的所有内容似乎都在 App
  • AVPlayer 是否支持在单独的文本文件中提供隐藏式字幕?

    我的团队开发使用 AVPlayer 播放视频的 iOS 应用程序 最近我们被告知 必须允许显示所有视频的隐藏式字幕 但隐藏式字幕不会作为视频文件中的轨道出现 我们已经支持以这种方式出现的隐藏式字幕 相反 我们会将它们作为单独的文本文件获取
  • AVPlayerStatus 与 AVPlayerItemStatus

    问题是玩家状态返回AVPlayerStatusReadyToPlay在player currentItem status返回之前整整2秒AVPlayerItemStatusReadyToPlay 有人对为什么会发生这种情况有任何有用的解释吗
  • 在 AVPlayer 中播放网络状况不佳的流媒体

    当 AVPlayer 播放来自网络流的资源时 它会在到达下载内容的末尾时暂停 所以 我的问题是 如何知道它是因为网络不好而停止的 下载后如何播放 比如说 接下来的 10 秒资源 当 AVPlayer 的缓冲区为空时 您可以添加一个观察者 s
  • iOS AVFoundation 音频/视频不同步

    问题 每次播放时 音频都会落后视频 1 2 秒 设置 这些资源是通过媒体流中的 AVURLAssets 加载的 为了编写合成 我使用具有不对称时间尺度的 AVMutableCompositions 和 AVMutableCompositio
  • Mojave/macOS 10.14.0:[AVPlayerItem 持续时间] 始终不确定

    我正在尝试使用以下代码读取本地存储的音频文件的持续时间 import
  • 在AVPlayer中获取averagePowerForChannel

    我怎样才能得到averagePowerForChannel in AVPlayer为了在我的音乐应用程序上制作音频可视化 我已经完成了可视化部分 但我卡在了它的引擎 实时音量通道 中 我知道通过使用AVAudioPlayer它可以很容易地使
  • 从 NavigationController 中删除 ViewController 后 AVPlayer 继续播放

    因此 我在项目中使用 ARC 当我添加 AVPlayerLayer 时 它工作得很好 但当我从 UINavigationItem 中弹出 UIViewController 时 视频继续在后台播放 有谁知道你会如何处理这个问题 这似乎是一件很
  • 检测 AvPlayer 何时切换比特率

    在我的应用程序中 我使用 AVPlayer 通过 HLS 协议读取一些流 m3u8 文件 我需要知道在流会话期间 客户端切换比特率多少次 我们假设客户端的带宽正在增加 因此客户端将切换到更高比特率的段 AVPlayer能检测到这个开关吗 T

随机推荐

  • 育碧2k微软服务器,育碧服务器出现大规模的BUG:影响到多个平台

    PConline资讯 昨日 育碧的服务器出现大规模的BUG 包括 彩虹六号 幽灵行动 等多款育碧游戏无法进行联机游戏 育碧官方也是在第一时间在微博和推特发布了消息并表示正在积极抢修 而期间间歇性的断开连接和排队则一直没有停止过 PS4 Xb
  • elementUI el-button 点击后样式自动恢复的方法

    问题描述 elementUI 中的按钮 点击后会有focus样式 且只有点击其他地方后 按钮才会失焦 样式才会恢复到点击之前的样式 例如主要按钮是亮蓝色 点击后是暗蓝色 点击其他地方才会恢复亮蓝色 我希望将鼠标放在按钮上时会改变样式 但是点
  • 三伏天是几月几号2023-三伏天需要注意什么

    三伏天是几月几号2023 2023年三伏天具体时间如下 初伏 2023年7月11日 2023年7月20日 共10天 中伏 2023年7月21日 2023年8月9日 共20天 末伏 2023年8月10日 2023年8月19日 共10天 三伏天
  • 奇偶数分离

    描述 有一个整型偶数n 2 lt n lt 10000 你要做的是 先把1到n中的所有奇数从小到大输出 再把所有的偶数从小到大输出 输入 第一行有一个整数i 2 lt i lt 30 表示有 i 组测试数据 每组有一个整型偶数n 输出 第一
  • JavaWeb:Servlet

    Servlet 文章目录 Servlet Servlet介绍 Web服务器 Tomcat Servlet接口 Servlet接口介绍 类图 Servlet接口源码 GenericServlet抽象类 HttpServlet抽象类 Servl
  • Python 报错:can only concatenate str (not “int”)to str

    x 1 print x x 使用 连接时 只能将字符串与字符串连接 不能和int型连接 需要将x强制转换成str型 x 1 print x str x
  • 如何配置H3C S5500每个VLAN配一个DHCP池

    给Vlan定义地址并配置其工作在服务器模式 interface Vlan interface12 ip address 172 18 12 1 255 255 255 0 dhcp select server global pool 给Vl
  • 计算机浮点数规格化表示

    说明 在IEEE标准中 浮点数在内存中的表示是将特定长度的连续字节的所有二进制位按特定长度划分为符号域 指数域和尾数域三个连续域 float float类型在内存中占用的位数为 1 8 23 32bits double 1 11 52 64
  • Android 关于NestedScrollView与RecyclerView的滑动冲突的最终解决方案

    最近做项目的时候发现一个小问题 当NestedScrollView嵌套RecyclerView的时候回出现种种不适 网上给出的解决方案 比如去除RecyclerView的滑动事件 修改NestedScrollView或者RecyclerVi
  • TensorFlow 框架(contrib) - TensorFlow图形编辑器(contrib)

    TensorFlow 框架 contrib TensorFlow 框架工具 tf contrib framework assert same float dtype tf contrib framework assert scalar tf
  • pandas某一列中每一行拆分成多行的方法

    在处理数据过程中 常会遇到将一条数据拆分成多条 比如一个人的地址信息中 可能有多条地址 既有家庭地址也有工作地址 还有电话信息等等类似的情况 实际使用数据的时候又需要分开处理 这个时候就需要将这一条数据进行拆分成多条 以方便使用 在pand
  • Mybatis-Plus中update更新操作用法

    目录 一 前言 二 update 1 关于修改的4个条件构造器 2 UpdateWrapper 用法示例 3 LambdaUpdateWrapper 用法示例 4 UpdateChainWrapper 用法示例 5 LambdaUpdate
  • 志愿者打卡器服务器无响应,【转发】“志愿者打卡器”普及贴

    原标题 转发 志愿者打卡器 普及贴 首先欢迎各位加入建院志愿者的大家庭 在这里 我们真实地接触社会 我们付出热忱和真心 但是 你们的汗水不会白流 你们的时间也不会白白付出 你们的无私奉献也会得到相应的回报 在建院 任何形式的志愿活动都可以累
  • xss-labs通关大合集

    漏洞原理 看这里哇 目录 xss labs level1 level2 level3 level4 level5 level6 level7 level8 level9 level10 level11 level12 level13 lev
  • 虚拟服务器本地ssd型,云服务器本地ssd型

    云服务器本地ssd型 内容精选 换一换 若您对扩展的云服务器的规格有特殊的要求 可通过使用新模板创建伸缩配置 可按照您的需求配置新模板的规格参数 使得伸缩组内云服务器的规格均符合创建新模板的规格 登录管理控制台 选择 计算 gt 弹性伸缩
  • Python实现PP图和QQ图的应用

    Python实现PP图和QQ图的应用 在数据可视化领域 PP图和QQ图常常被用作数据研究和分析的工具 PP图 Probability Probability plot 和QQ图 Quantile Quantile plot 是由概率论和统计
  • Qt中的坐标系统

    1 坐标系统 GUI操作系统都有特定的坐标系统 图形界面程序在坐标系统中进行窗口和部件的定位 定位类型 顶级窗口部件的定位 窗口内部件的定位 窗口部件的大小设置 Qt使用统一的坐标系统定位窗口部件的位置和大小 Qt部件提供成员函数在坐标系统
  • T-SQL语句添加约束

    语法 ALTER TABLE 表名 ADD CONSTRAINT约束名约束类型 具体的约束声明 约束名的取名规则推荐采用 约束类型 约束列 当然你也可以不这么命名 这样单纯是比较方便 如 主键 Primary Key 约束 PK UserI
  • python爬虫Request

    1 先确定是否为动态加载网站 2 找URL规律 3 正则表达式 xpath表达式 4 定义程序框架 补全并测试代码 1 request是什么 Requests是用python语言基于urllib编写的 采用的是Apache2 License
  • AVPlayer耳机插拔

    AVPlayer耳机插拔暂停播放 耳机插拔监听 NSNotificationCenter defaultCenter addObserver self selector selector audioRouteChanged name AVA