javascript - 带有 SoundManager 的 Soundcloud API 不返回peakData

标签 javascript api soundcloud soundmanager2

我正在使用 SoundManager2 从 SoundCloud 传输音乐。但是,它没有向我返回peakData(或WaveformData 或EQData)。

我尝试直接使用 SoundManager2 和 SoundCloud API Wrapper,结果相同。

我想要peakData数据来创建可视化。我无法使用普通的 HTML5 音频 API 播放器,因为我需要 SoundManager(或 Soundcloud API 包装器)返回的其他函数。

轨道正在播放,但 soundManager.features 返回 PeakData 为 false,并且峰值数据返回数组“0”。

代码如下,这里有一个简化设置的私有(private)CodePen: SoundCloud Test

SC.initialize({
    client_id: 'b5ec05bfa8844fff9b84362925f46745'
});

var soundcloud_track;
SC.get('/tracks/202764956', {}, function(track){
    soundcloud_track = track.stream_url+'?client_id=b5ec05bfa8844fff9b84362925f46745';

    streamTrack();
});

function streamTrack(){
    soundManager.setup = {
        preferFlash: true,
    }

    soundManager.flash9Options = {
        usePeakData: true,     // enable left/right channel peak (level) data
        useWaveformData: true, // enable sound spectrum (raw waveform data) - WARNING: May set CPUs on fire.
        useEQData: true,       // enable sound EQ (frequency spectrum data) - WARNING: Also CPU-intensive.
    }

    var sound = soundManager.createSound({
        url: soundcloud_track,
        autoPlay: true,
        onplay: function(){
            console.log(soundManager.features);
        },
        whileplaying: function(){
            console.log(sound.peakData);
        }
    });
}

最佳答案

如果您只想要数据:

Soundcloud开始直接给出峰值数据。如果您仍然得到 PNG:

获取它:

  • 检索波形 PNG
  • 将扩展名更改为 .json
  • 将 w1 更改为 wis

就你的情况而言:

https://w1.sndcdn.com/Oz5FJMJhr8Ho_m.png 变得 https://wis.sndcdn.com/Oz5FJMJhr8Ho_m.json

你明白了!

<小时/>

如果你也想画它:

http://waveformjs.org/

关于javascript - 带有 SoundManager 的 Soundcloud API 不返回peakData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30488000/

相关文章:

javascript - 您可以在新的 AngularJS i18n 系统(1.4 中推出)中翻译动态消息吗?

javascript - 使用自定义按钮控制Soundcloud HTML5 Widget Player

soundcloud - 如何处理 soundcloud oauth2 错误

jquery - SoundCloud 自定义播放器安装

javascript - 用于计算标 checkout 现次数的 Twitter API

javascript - 使用 javascript 检测重定向 - 如何?

javascript - 我可以将 'ban' javascript 扩展到什么程度?鉴于没有 js 功能非常复杂

javascript - 将文本放在拖放区域下方

angular - 从 API 服务 Angular 4 获取数据

javascript - IE 中的 ajax 调用非常慢