在 iOS 版 WebRTC 中测量麦克风电平

2023-12-26

我有一个 WebRTC iOS 应用程序。 在那里我有AVAudioSession and RTCAudioSource。 我需要检测麦克风何时开始接收响亮的声音(例如当一个人开始说话时),类似于hark https://github.com/otalk/hark在浏览器中执行音频上下文 https://developer.mozilla.org/en-US/docs/Web/API/AudioContext。 我怎样才能检测到它或得到类似于可以测量的流的东西AVCaptureAudioChannel or AVCaptureAudioDataOutput?


使用后AVAudioSession要请求录制音频的许可,我建议使用AVAudioRecorder。这是一个相当简单的类,简单如下:

  • 创建一个实例AVAudioRecorder
  • 调用方法prepareToRecord在实例上
  • 使用方法开启声音计量功能meteringEnabled

开启录音后,可以访问录音音量测量使用该方法averagePowerForChannel:.

您可能想阅读苹果的文档 https://developer.apple.com/documentation/avfoundation/avaudiorecorder?language=objc

~~~~~~~~~~~~~~~~~~~~~~~~N O T E~~~~~~~~~~~~~~~~~~~~~~~~

我不熟悉 WebRTC 框架/功能,但是AVA录音机课程将为您提供以下能力:measure录音期间的音频输入。

~~~~~~~~~~~~~~~~~~~~~~S A M P L E~~~~~~~~~~~~~~~~~~~~~~

我已经包含了 GitHub示例项目 https://github.com/picciano/iOS-Audio-Recoginzer/blob/master/ARAudioRecognizer.m我过去用过的。它被设置为使用我所描述的 AVAudioRecorder 类来检测音频的灵敏度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 iOS 版 WebRTC 中测量麦克风电平 的相关文章

  • 两者都实现了类。将使用两者之一

    我有一个项目 它具有使用 SocketRocket 的依赖项 通过 CocoaPods 安装 并从 HeapAnalytics 导入了静态库 显然 HeapAnalytics 库已经使用了 SocketRocket 编译时没有出现错误 但在
  • CBPeripheral 名称有时为 null

    我正在开发一个应用程序来与蓝牙 LE 外围设备进行通信 我目前正在测试的外围设备是其中之一these http www ti com tool cc2540dk mini 有趣的是 有时当我发现它时 我会得到它的正确名称 SimpleBLE
  • 使用 NSURLSessionDataTask 显示文件下载进度

    我想显示特定文件的文件下载进度 收到了多少字节 它与 NSURLSessionDownloadTask 配合得很好 我的问题是我想用 NSURLSessionDataTask 实现同样的效果 以下是将文件接收到 NSData 并写入文档文件
  • 用 UIView 像翻书一样翻页?

    我正在尝试在之间切换UIViews让它看起来就像你正在翻书的一页 The UIViewAnimationTransitionCurlUp如果我能让它向左或向右卷曲 那就非常接近了 这可能吗 我尝试过使用CATRansition但没有一种动画
  • 如何在 Swift 3 中解析 JSON 数组 [重复]

    这个问题在这里已经有答案了 我从 Socket 获取了一些我想访问的数据 但收到错误消息 指出每次都无法将 NSArray 转换为 NSDictionary struct SocketEventHandler let event Strin
  • Swift 3:如何去除UITableView屏幕截图的灰色区域

    我在从桌面视图的屏幕截图中删除灰色区域时遇到了问题 这是我尝试截图时的输出UITableView 实际上我隐藏了一些tableViewCell这是不需要的 可能这就是区域显示灰色的原因 任何帮助表示赞赏 非常感谢 Answer 我通过使用
  • iOS 11 安全区域布局指南向后兼容性

    启用安全区域布局指南是否与 iOS 11 以下版本兼容 我设法使用新的安全区域布局指南并保持与 iOS 9 和 iOS 10 的向后兼容性 编辑 正如 NickEntin 的评论所指出的 此实现将假定存在状态栏 但在 iPhone X 的横
  • 如何检测Retina高清显示屏?

    UIScreen有一个新的 nativeScaleiOS 8 中的属性 但文档没有提及它 property nonatomic readonly CGFloat nativeScale 还有一个scale属性 但文档说它是 2 用于视网膜显
  • Objective Flickr 照片上传错误

    我正在使用 ObjectiveFlickr 库将照片从我的 iPhone 应用程序上传到 Flickr 我可以授权该应用程序并执行一般请求 但在尝试上传照片时遇到错误 要上传的照片是使用 AVFoundation 捕获的图像 这是相关代码
  • UISearchController 保留问题

    我正在尝试使用 UISearchController 但是我遇到了无法解决的保留问题 MainTableview 有两个部分 第1节 基于某些正则表达式过滤数据 第2节 All Data 我将 UISearchController 添加到我
  • 如何使用 Swift 获取 YouTube 频道的所有播放列表?

    我的问题不是关于从一般频道检索视频 我只想获取该频道创建的所有 播放列表 并检索每个播放列表的缩略图 标题和视频数量 这是一个 YouTube 频道示例 正如您所看到的 有很多已创建的播放列表 截至目前 我只能获取某个频道最新上传的视频 在
  • FireMonkey iOS RAD Studio XE2 - 在从 URL 加载的表单上显示图像

    是否可以将 TImage 放置在 iOS 的 FMX 表单上 并将图像 jpg 从 URL 加载到此 TImage 中以在 iOS 应用程序中显示 我尝试过但没有成功 任何正确方向的提示或指出都会受到赞赏 将 TButton TImageC
  • Objective C UIImagePNGRepresentation内存问题(使用ARC)

    我有一个基于 ARC 的应用程序 它从 Web 服务加载大约 2 000 个相当大 1 4MB 的 Base64 编码图像 它将 Base64 解码后的字符串转换为 png图像文件并将其保存到磁盘 这一切都是在一个循环中完成的 我不应该有任
  • 使用 UIImageJPEGRepresentation 时,compressionQuality 应该是多少?

    我想对用户库中的照片应用滤镜 然后将其写回磁盘 我在用着UIImageJPEGRepresentation 该函数需要一个UIImage and a compressionQuality值介于 0 0 和 1 0 之间 因为我想保留原始质量
  • iOS WKWebView.scrollView委托导致BAD_ACCESS

    我的 viewController 有一个 UIView 属性 其中包含一个 WKWebView 我将 WKWebView rollView 委托设置为我的 viewController 它是我的 UIView 子类的公共函数 并在我的 v
  • 如何更改已上传的 Firebase 存储图像文件名?

    我需要更改已上传到 firebase 存储中的文件名 因为 在 firebase 存储中上传图像后 我将 url 保存在 firebase 数据库中的特定子 文件夹 下 但是 当我将图像移动到另一个子 文件夹 时 我需要根据新名称更改存储中
  • 自定义 MKAnnotationView - 如何捕获触摸而不忽略标注?

    我有一个自定义 MKAnnotationView 子类 它完全按照我想要的方式显示视图 在那个视图中 我有一个按钮 我想捕获按钮上的事件来执行操作 这很好用 但是 我不希望标注被忽略或消失 基本上 触摸标注中的按钮将开始播放声音 但我想保留
  • 应用程序未通过协同设计验证?

    我在提交 iPhone 申请时遇到问题 我看到了一些类似的问题 但没有找到答案 当我存档项目并单击 验证 时 收到错误消息 应用程序未通过协同设计验证 签名无效 或者未使用 Apple 提交证书进行签名 我假设我在协同设计部分做错了什么 我
  • 为什么这个 SKPhysicsJointPin 不能将这 2 个精灵保持在一起?

    我显然不太了解 SKPhysicsJoint 但是除了 Apple 文档之外 网上的信息还很少 下面的代码有什么问题 我认为应该保持头部和颈部永久连接 我的意图是它们就像两张带有大头针的纸 这样它们可以旋转一点 但不仅仅是完全分开 当我运行
  • KeyboardAvoidingView - 隐藏键盘时重置高度

    我正在使用 React NativeKeyboardAvoidingView设置我的高度View当显示键盘时 但是当我关闭应用程序中的键盘时 视图的高度不会变回原来的值

随机推荐

  • ole32!COIDTable::ThreadCleanup 中崩溃 ... NetworkItemFactory!FDBackgroundThreadHandler

    自上周以来 Word 和 Excel 经常崩溃 即使是非常简单的文档也是如此 刚才 火狐也崩溃了 我该如何修复它或找到真正的根本原因 我已经使用安装程序修复了 Office 安装 应安装所有常规更新 笔记本电脑每天都会重新启动 我已经配置了
  • 在 IIS 上启用 SSI

    根据这一页 http msdn microsoft com en us library ms525940 28v vs 90 29 aspx 我应该能够 问 如何在 IIS7 上启用 SSI 编辑 哦 我明白我的问题是什么了 我在 VPS
  • git-diff:不考虑行顺序

    我的存储库中有一个由软件程序生成的文件 该程序有时会重新排序该文件上的行 这并不重要 因为行顺序并不重要 问题是 当执行 git diff 时 很难看出任何内容是否真正发生了变化 无论如何 是否有执行不考虑行顺序的差异 或者 如果 git
  • 如何在 Swift 中获取父 ViewController 的类名?

    有没有办法获取当前 子 父VC的类名UIViewController 我的 孩子 VC 推 有两个 父母 UIViewControllers 所以我想知道哪一位是当前的父母 这是一种方法 if let parentVC parent as
  • Vector3 的纬度和经度未在 3D 球体上对齐

    我正在尝试将纬度和经度转换为 Vector3 格式 对于给定的纬度和经度 我想将其转换为 Vector3 其中标记对象将位于此 Vector3 位置 这是我的代码 void createLand double latitude rad la
  • python中在函数中定义函数有什么好处?

    我遇到了这段python代码 粘贴在下面 effbot http effbot org zone re sub htm unescape html我想知道 为什么要在函数中定义函数 import re htmlentitydefs Remo
  • 为什么同步变更操作时还需要同步HashMap.get(key)?

    我用 get put and clear 多个线程对一个 HashMap 进行操作 put and clear 都在一个里面synchronized阻止但是 get 不是 我无法想象这会导致问题 但在我见过的其他代码中 get 几乎总是同步
  • 创建作业时如何指定 OpenShift 镜像

    在 OpenShift 3 3 下 我尝试使用以下命令创建作业oc命令行工具 显然缺乏对作业创建的基于参数的支持 但我无法理解如何使用现有应用程序的图像流 例如 当我的应用程序进行 S2I 构建时 它会推送到app latest图像流 我希
  • Firebase - 类型错误:路径必须是字符串。收到未定义

    我刚刚开始使用 firebase 我不确定 Firebase 的进出 根据我的模糊理解 我已经这样配置了我的应用程序 在主要Index js文件 我需要 const path require path const firebaseConfi
  • MEAN 堆栈 ng-upload-file

    我目前正在使用MEAN js创建一个应用程序 我脚手架一个简单的实体称为Campaign 我希望每个活动都有一张关联的图片 因此 我想改变CRUD接口能够上传一个文件到后端 我注射了ng 文件上传用于创建 FE 的插件Angular 上No
  • SonarQube 报告中 Kotlin 项目的覆盖率为 0%

    我正在设置通过 SonarQube 服务器分析项目 使用的工具集是 科特林 1 3 61 摇篮6 0 1 雅可可0 7 9 声纳Qube 7 5 SonarQube Gradle 插件 2 7 问题是我在 SonarQube 中有 0 0
  • CMake find_package() 不尊重 CMAKE_MODULE_PATH

    我在 CMake 中检测包 glfw 时遇到问题 由于没有 root 权限 我无法将库安装在标准位置 因此我将其安装在 local反而 ls local lib cmake glfw3 glfw3Config cmake home emil
  • Acumatica 配置向导错误:无法在注册表中获取 IIS 版本

    我尝试在 Acumatica 配置向导上创建一个新实例 我收到一条错误消息 无法从注册表获取您的 IIS 版本 虽然我已经安装了IIS功能 我按照有关在 IIS 上安装哪些功能的说明进行操作 它使用的 net框架是4 6 显然这个问题还没有
  • 在Python中按另一个数组对数组的行进行排序

    我正在尝试按另一个数组的值对一个数组的行进行排序 例如 import numpy as np arr1 np random normal 1 1 80 arr2 np random normal 1 1 80 100 我想排序arr1按降序
  • 升级到 Lion 后如何让 virtualenv 正常工作?

    我刚刚从 SnowLeapord 升级到 Lion 现在无法创建 virtualenv 据我了解 升级后有新的 Python 安装 并且没有站点包 并尝试再次安装 pip 和 virtualenv 以及升级到 Xcode4 但我总是收到此错
  • Twilio PHP API Librarie:警告:file_get_contents():SSL 操作失败,代码为 1

    我通过 Composer 安装了官方 Twilio PHP API Librarie twilio sdk 3 12 当我尝试使用测试凭证使用 API 例如发送短信 时 出现错误 警告 file get contents SSL 操作失败
  • 如何引用两个具有相同名称的不同 DLL?

    我正在开发使用 Matrox Imaging Library MIL 的软件 该软件过去使用MIL 9版本 现在我们升级到v10 由于向后兼容性 我们必须继续支持 v9 使用 MIL 及其 DLL 时存在一些困难 MIL 9 和 MIL 1
  • 有效比较当月运行总计与当月总计

    我有一个数据框 df 它包含predicted模型的每日数据 直至 2020 年底 随着一年中的每一天 actual and id数据被添加到该行 每天有多个名字 NAME ID PREDICTED ACTUAL YYYY MM DD Ni
  • Sitecore 8.1 输出缓存未清除

    我们在使用 ASP NET MVC 编写的 Azure Web Apps 中托管的不同服务器上有 CA 和 CD 我在下面添加了这样的内容 以便在发布结束时清除输出缓存
  • 在 iOS 版 WebRTC 中测量麦克风电平

    我有一个 WebRTC iOS 应用程序 在那里我有AVAudioSession and RTCAudioSource 我需要检测麦克风何时开始接收响亮的声音 例如当一个人开始说话时 类似于hark https github com ota