《AP音频分析仪的使用》
Posted 我要做个小圆规
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《AP音频分析仪的使用》相关的知识,希望对你有一定的参考价值。
01====>认识音频分析仪(AP)
AP,音频分析仪器(AudioPrecision),是指既能够测量话筒、音频功放、扬声器等各类单一音频设备的各种电声参数,也能测试组合音响、调音台等组合音频设备的整体性能的分析类仪器。所谓音频设备就是将实际的声音拾取到将声音播放出来的全部过程中需要用到的各类电子设备,例如话筒、功率放大器、扬声器等,衡量音频设备的主要技术指标有频率响应特性、谐波失真、信噪比、动态范围等。
02====》如何使用音频分析仪(AP)
1,信号路径的选择与连接
1,信号源路径选择bluetooth
2,点击setting进行配对
3,选择A2DP Source HSP
4,点击Scan for devices搜索产品
5,点击Pair 进行配对
6,连接A2DP协议
2,测试工程项目的选择和添加
常规的测试项目
1,频响
2,频率扫描
3,信噪比
4,噪声
5,总谐波失真加噪声
3,常规音频测试项目和使用事项
chrome音频分析仪在音频开关上中断
【中文标题】chrome音频分析仪在音频开关上中断【英文标题】:chrome audio analyzer breaking on audio switch 【发布时间】:2013-04-26 04:54:14 【问题描述】:我正在使用 webgl 创建一个音频可视化器,并且一直在将 soundcloud 轨道集成到其中。我不想切换音轨,但我可以让我的可视化器工作并且音频中断,或者我可以让音频工作并且可视化器中断。
我能够让它发挥作用的两种方法是
音频工作
-
删除音频元素
将新的音频元素附加到正文
触发播放
可视化器工作
-
停止音频
更改来源
触发播放
当我让可视化器工作时,音频完全混乱了。缓冲区只是听起来不对,而且音频中有伪影(噪音、哔哔声和嗡嗡声)。
当我让音频正常工作时,当我调用analyser.getByteFrequencyData
时,我得到一个 0 数组。我想这是因为分析仪没有正确连接。
音频工作的代码如下所示
$('#music').trigger("pause");
currentTrackNum = currentTrackNum + 1;
var tracks = $("#tracks").data("tracks")
var currentTrack = tracks[parseInt(currentTrackNum)%tracks.length];
// Begin audio switching
analyser.disconnect();
$('#music').remove();
$('body').append('<audio id="music" preload="auto" src="'+ currentTrack["download"].toString() + '?client_id=4c6187aeda01c8ad86e556555621074f"></audio>');
startWebAudio(),
(我认为我不需要pause
电话。是吗?)
当我希望可视化器工作时,我使用此代码
currentTrackNum = currentTrackNum + 1;
var tracks = $("#tracks").data("tracks")
var currentTrack = tracks[parseInt(currentTrackNum)%tracks.length];
// Begin audio switching
$("#music").attr("src", currentTrack["download"].toString() + "?client_id=4c6187aeda01c8ad86e556555621074f");
$("#songTitle").text(currentTrack["title"]);
$('#music').trigger("play");
startWebAudio
函数如下所示。
function startWebAudio()
// Get our <audio> element
var audio = document.getElementById('music');
// Create a new audio context (that allows us to do all the Web Audio stuff)
var audioContext = new webkitAudioContext();
// Create a new analyser
analyser = audioContext.createAnalyser();
// Create a new audio source from the <audio> element
var source = audioContext.createMediaElementSource(audio);
// Connect up the output from the audio source to the input of the analyser
source.connect(analyser);
// Connect up the audio output of the analyser to the audioContext destination i.e. the speakers (The analyser takes the output of the <audio> element and swallows it. If we want to hear the sound of the <audio> element then we need to re-route the analyser's output to the speakers)
analyser.connect(audioContext.destination);
// Get the <audio> element started
audio.play();
var freqByteData = new Uint8Array(analyser.frequencyBinCount);
我怀疑分析仪没有正确连接,但我不知道该看什么才能弄清楚。我查看了frequencyByteData
输出,这似乎表明某些东西没有正确连接。 analyser
变量是全局变量。如果您想更多地参考代码,这里是where it is on github
【问题讨论】:
【参考方案1】:每个窗口只能创建一个AudioContext
。您还应该在使用完 MediaElementSource
后断开它。
这是一个我曾经回答过类似问题的例子:http://jsbin.com/acolet/1/
【讨论】:
以上是关于《AP音频分析仪的使用》的主要内容,如果未能解决你的问题,请参考以下文章