[英]Is there a way to get the raw data from a sound in SoundJS for reading custom headers?
我正在使用CreateJS的SoundJS,我想知道,是否還能獲得音頻播放的原始(十六進制)數據? 我正在向音頻文件中添加自定義標頭以進行口形同步字符,但是我不知道如何獲取音頻的原始十六進制數據。
我試過在_playbackResource
查找,但是什么也沒有。
var instance = playSound(whichTalkie);
console.log(instance._playbackResource);
我需要原始音頻數據。 我該如何解決這個問題?
我假設您的意思是您要加載原始的AudioBuffer 。
在SoundJS 1.0中沒有官方的方法可以做到這一點(我們將在2.0中進行更多介紹,您可以在Git的進行中分支中看到)。
但是,您可以使用以下命令訪問所有已加載的緩沖區:
var plugin = createjs.Sound.activePlugin; // The WebAudioPlugin
var buffer = plugin._audioSources[url];
此外,SoundJS存儲的加載項中還包含更多信息,包括原始數組緩沖區。
var loader = plugin._loaders[url];
var buffer = loader.rawResult;
不幸的是,沒有干凈的方法從聲音實例中獲取緩沖區。
您監聽“ fileload”事件,可以直接從該事件獲取src:
createjs.Sound.on("fileload", handleFileLoad);
createjs.Sound.registerSound("https://s3-us-west-2.amazonaws.com/s.cdpn.io/1524180/MK21.mp3", "music");
function handleFileLoad(event) {
var src = event.src;
// Use whatever approach to get the Array or Audio buffer
}
或者從play()
調用獲取src:
var inst = createjs.Sound.play("music");
var src = inst.src;
希望對您有所幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.