我知道网络音频API可以使用<audio>
元素作为媒体源(对于频率数据等),但是SoundManager2似乎没有创建<audio>
标记,因此我我不确定我将提供什么作为源,以便使用SoundManager2播放声音,并将其用作使用网络音频提供可视化的源。
分割的原因是因为SoundManager2有很好的文档记录,可以传递诸如加载的字节,在音频中特定时间安排事件等信息,以及其他尚未存在或者很难找到的事情。在网络音频api。但是我想避免在SoundManager中对flash进行可视化的要求,并在这方面使用Web Audop API。
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:1)
我不知道这在soundmanager2中是如何工作的,但在普通的javascript中它很简单。您只需创建MediaElementNode
并为其添加audio
或video
标记即可。所以我的猜测是你必须将html对象指定为soundmanager2。 (您可以通过在javascript中创建音频元素来实现此目的:player = new Audio();
或将<audio id="player"></audio>
标记添加到您的html并通过document.getElementById('player');
基本示例:
function init() {
player = new Audio();
window.context = new webkitAudioContext()||AudioContext();
audioSource = context.createMediaElementSource(player);
audioSource.connect(context.destination);
}
我希望这会给你一个正确的方向,找到如何在soundmanager2中做到这一点。
答案 1 :(得分:1)
<audio>
元素确实隐藏在SoundManager2中,但您可以这样找到它:
soundManager.onready = function() {
audioElement = soundManager.sounds[soundManager.soundIDs[0]]._a;
webAudioSource = audioContext.createMediaElementSource(audioElement);
}
与@ MarijnS95的示例一样,您需要将媒体元素源节点连接到音频上下文目标节点才能听到它。这是因为Web Audio劫持了元素的音频输出。但是SoundManager仍然可以控制播放/暂停/定时功能,现在您可以使用网络音频进行可视化/处理声音。