我正在使用 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
你明白了!
<小时/>如果你也想画它:
关于javascript - 带有 SoundManager 的 Soundcloud API 不返回peakData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30488000/