测量在 iOS 中内联播放的嵌入式 YouTube 视频的音频电平

Posted

技术标签:

【中文标题】测量在 iOS 中内联播放的嵌入式 YouTube 视频的音频电平【英文标题】:Meter audio level from Embedded YouTube video that plays inline in iOS 【发布时间】:2017-03-14 14:44:49 【问题描述】:

我正在尝试找到一种方法来获取通道的平均功率水平,该水平来自嵌入视频中播放的音频。我正在使用 YouTube 的 ios 帮助程序库来嵌入视频 https://developers.google.com/youtube/v3/guides/ios_youtube_helper

我在 *** 中找到的很多答案都涉及 AVAudioPlayer,但我的情况并非如此。我还查看了 AudioKit 框架的文档以找到可以提供当前音频输出级别的内容,但我找不到任何相关内容,也许我错过了那里的某些内容。我还查看了 EZAudio 框架,即使它已被弃用,我也找不到与我的案例相关的内容。

我的思考方向是找到一种方法来获取设备输出的实际级别,但我在 SO 中找到了一个答案,即 iOS 不允许这样做,尽管他没有提及任何来源陈述。 https://***.com/a/12664340/4711172

所以,任何帮助将不胜感激。

【问题讨论】:

iOS 安全沙箱会锁定应用程序,使其无法看到设备或任何其他应用程序的内部音频输出(除非明确共享,例如应用程序间音频等)。最初可能是为了阻止捕获 DRM 的样本音乐和录音电话。 @hotpaw2 感谢您的回复,我觉得这是不可能的事情,只是没有像您一样得到合理的答案。 【参考方案1】:

iOS 安全沙箱会阻止应用查看设备的数字音频输出流或任何其他应用的内部音频输出(除非明确共享,例如应用间音频等)(使用 Apple App Store 允许的公共 API 时。)

(只是一个猜测,但这可能并且最初是在 iOS 中实现的,以防止应用捕获 DRM 音乐样本和/或记录电话对话。)

【讨论】:

【参考方案2】:

可能有点离题/奇怪,但以防万一 - 您是否考虑过关闭循环?含义 - 使用 'AVAudio​Recorder' 记录传入的音频并从那里获取音频电平?

请参阅 Apple 的 AVAudioRecorder 文档(在他们指定的概述中:“获取可用于提供电平测量的输入音频电平数据”) AVAudioRecorder documentation

【讨论】:

嗨科比感谢您的回复。我确实考虑过这种解决方法,但这并不是我所需要的,如果您进一步阅读,他们会说“输入音频电平”来自手机麦克风或耳机麦克风。我想过从麦克风录制来自设备的实际音频,但如果用户使用耳机会发生什么?不管怎样,为了好玩,我会试试看。 啊..你是对的。不知何故,我错过了“麦克风/耳机”的东西。很抱歉没有很有帮助。我试图四处寻找,但我得到的最接近的是下载实际数据(音频或音频+视频),然后访问/处理音频数据,但我猜你需要它是实时的,所以这是也不相关。

以上是关于测量在 iOS 中内联播放的嵌入式 YouTube 视频的音频电平的主要内容,如果未能解决你的问题,请参考以下文章

ionic 嵌入式 youtube 视频停止在 iOS 上播放

Iframe 中的 YouTube 嵌入播放器在 iOS6 中不起作用

来自 YouTube 的嵌入式 360 度视频无法在 iOS 浏览器上正确播放

UIWebView 模态 YouTube 播放器“完成”按钮操作

YouTube 嵌入式播放器在 iOS 8 上因 gpus_ReturnNotPermittedKillClient 而崩溃

嵌入的 YouTube 视频无法在 iPad (iOS 7) 上播放,而 HTML5 搜索输入可见