簡體   English   中英

有沒有辦法從SoundJS中的聲音中獲取原始數據以讀取自定義標頭?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM