问题标签 [metering]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 何我可以平滑音频电平表以获得更真实的模拟 VU 表吗?
我已经为录音应用程序构建了一个模拟的模拟 VU 表,并且所有内容都正确连接并按照我期望的方式工作,除了一个方面。如果您观看这个 13 秒的 VU 表运行视频,您会看到指针到处弹跳,这并不是真正的 VU 表中会发生的情况。有关我正在寻找的示例,请试用 Apple“语音备忘录”应用程序并查看。
到目前为止,我的逻辑很简单:
基本上,我设置了一个计时器来运行VU_METER_FREQUENCY
并使用带有缓动的 UIView 动画更新指针旋转,该动画优先保持指针更高。我正在寻找一种方法来调整它以提供更平滑的指针,我的基准尽可能接近 Apple 的模拟 VU Meter。为了得到needleValue
,我使用AudioQueue
'smAveragePower
并在每次currentDB
调用时查询它。我怎样才能平滑这个?
objective-c - AVAudioPlayer 仪表值仍然 - 160
尝试实现 AVAudioplayer 并获取播放音乐的一些计量数据,但仍然获得值 -160。它看起来很容易使用,只需启用 Meter 然后在计时器下拾取数据,但到目前为止还没有结果。
欢迎任何想法。
time - 如何根据时间序列数据计算使用的千瓦数
我有一个功率计,它通过 USB 存储传感器的当前读数(以 kwH 为单位),它可以读取它的频率,并将其与时间戳一起存储在数据库中,例如列:kwh、tiemstamp。请注意,读数的间隔不一致,这似乎是我无法解决电源读取设备 (CurrentCost) 和 USB 接口工作方式的问题。
我想做的是得到一个在 1 小时内(或任何其他时间段)内使用的总千瓦数的数字。
我有点明白这需要在时间序列上进行集成,但是自从我做了类似的事情以来已经有一段时间了,我希望有人可能有一个简单的一两行代码或我可以使用的伪代码。
ios - ios 音频队列 - 如何测量缓冲区中的音频电平?
我正在开发一个应该进行一些音频信号处理的应用程序。我需要测量我获得的每个缓冲区中的音频电平(通过回调函数)。我在网上搜索了一段时间,发现有一个内置的属性叫做电流电平表:
这个属性让我得到平均或峰值音频电平,但它不同步到当前缓冲区。我发现我需要自己从缓冲区数据中计算音频电平,所以我有这个:
此函数获取音频数据(转换为 Sint16)和当前缓冲区中的样本数。我得到的数字确实介于 0 和 1 之间,但与我从内置音频电平表中得到的数字相比,它们似乎相当随机且低。
录制音频格式为:
我的问题是如何从缓冲区中获取正确的值?是否有为此的内置函数 \ 属性?或者我应该自己计算音频电平,以及如何计算?
提前致谢。
android - Android 相机应用程序:点测光
我正在尝试使用 Android 手机实现 Spot Metering。parameters.set("自动曝光", "点测光");
但是,我对测光的工作方式有点困惑。如果我理解正确,点测光通过选择用于设置曝光值的区域来工作。
但是,在展平 Camera.Parameters 类并显示结果时,测光区域为 (0, 0, 0, 0, 0) [意味着它的宽度、高度和重量为零],而自动曝光设置正确“点” -计量”。然而,在 API 中,“getMeteringAreas()”文档说计量区域的宽度和高度不能为零。
那么,当测光面积为 0 时,如何使用“点测光”呢?我尝试将测光区域设置在右上角,但它对曝光没有任何影响。
这让我相信自动曝光=点测光与测光区域没有任何关系……这很奇怪。
如果不是这样,有人可以帮我理解我做错了什么吗?如果您需要更多信息,我很乐意提供代码。
如果是这种情况(例如,测光区域与点测光无关),有人可以帮我弄清楚如何选择自动曝光测光的点吗?我认为它默认为中心。
谢谢!
algorithm - Com 端口队列延迟计量
我有两个程序(主机和从机)通过一个 com 端口进行通信。在最简单的情况下,主机向从机发送命令并等待响应,然后再次执行。但这意味着每一方都必须为每笔交易等待对方。所以我使用了一个队列,以便在第一个响应返回之前发送第二个命令。这使事情流动得更快。
但是我需要一种计量队列使用的方法,以便在任何时候路由中的命令/响应对都不会超过 N 个。因此,例如,如果 N 为 3,我将等待发送第四个命令,直到收到第一个响应,等等。它必须跟踪哪个响应与哪个命令对应。
我的一个想法是用整数模计数器标记每个命令,该计数器也与响应一起返回。这将确保命令和响应始终正确配对,并且我可以进行模比较以能够在响应之前始终测量命令 N。
我想知道,有没有更好的方法?这不是很常见的事情吗?
(我正在使用 Python,但这并不重要。)
ios - 如何使用 MPMoviePlayerController 执行音频电平测量
我的应用程序使用 MPMoviePlayerController 流式传输远程音频内容。我想按照苹果的 avTouch 示例代码(https://developer.apple.com/library/ios/samplecode/avTouch/Introduction/Intro.html)中的方式进行 VU 计量(音频电平计量),但 MPMoviePlayerController 可以没有这样的计量方法。
有什么方法可以实现流式音频的 VU 表吗?
cocoa - 无法使用 AVAudioRecorder,com.apple.audio.IOThread.client 访问不正确
我正在开发一个简单的 Cocoa 应用程序,该应用程序从 AVAudioRecorder 中检索仪表。这是我的代码:
我还有一个计时器,每秒检索一次仪表。它适用于我的笔记本电脑,但在我的 iMac 上,由于某种原因,当我调用记录时,我在“com.apple.audio.IOThread.client (8)”上有一个 BAD_ACCESS。
任何想法 ?
谢谢!
standards - IEC 61968 标准不是“标准化”的吗?
我目前正在尝试适应 IEC 协议。我正在查看这份文档:IEC 61968-9 – 抄表和控制接口标准。
在请求文档(UML 模式)时描述的消息与文档末尾的 XSD 模式不匹配。此外,大多数消息几乎都没有描述。例如,当我想在 EndDevice 上设置某些东西的值时,如何在 EndDeviceControl 消息中传递参数?由于这被称为标准,我希望看到精确描述的协议,就像 RFC 一样。我在这里想念什么?
android - Android 自定义相机 setFocusAreas 和 setMeteringAreas 不适用于三星设备
也许这个问题重复了另一个问题,但其他问题我还没有找到解决方案。我正在尝试编写一个自定义的 android 相机,相机在我的设备(HTC One)上工作正常。我尝试了一些不同的设备,并在其中一个设备上工作。但我在Samsung
设备上遇到问题。不要关闭设备上的自动对焦功能。因此,设备不能改变焦点区域。那是我的触摸事件。
也许需要这个代码......