SoundCloudのsetVolume()関数が動かなかった件


Soundcloud

soundcloudのwidgetAPIを使っていましたところ、setVolumeで音量を操作したいのですが全然動かなかった話。
すごい単純なのですが、かなりハマりました。
今年もまだまだMCハマーは終わりません。

起きていた事象

2014年11月現在の状態にもとづきます

SoundCloudのWidgetAPIのドキュメントを見ますと、

setVolume(volume) — sets the widget volume to a certain value in the range 0-100.

と書いてあります。
つまり、0〜100の整数をsetVolumeの引数に与えれば良さそうな感じがしますね。

というわけなので普通に
var widgetIframe = document.getElementById(‘myMusic’);
var player = SC.Widget(widgetIframe);
などとしてから、

player.setVolume(50);
とした後に、

player.getVolume(function(data){
console.log(data);
}

という感じにしますと、 50がちゃんと与えられております。

ところが、初期値(1)から50にしたのに鳴る音量は全く変わりません。

これを100にしてみても、変わりませんでした。
もしかして私のPCが壊れているの?! けど他のAppを動かしてみると答えはNOの様子です。
WHY?

原因

ドキュメントで range が 0-100 って書いてあるんですが、実際の有効範囲は0-1 で与える様子。

ヽ(・ω・)/ズコー

つまり、初期値がMAX状態で半分にするには 0.5 を与えないといけない様子。
紛らわしいっちゅうねん。
※しかも、よりによってJSの小数点計算が発生しますぜ、、、

と、いうことはつまりデフォルト状態(1)は100%の音量という事になりますね!
確かに0.1にしたところかなり音量が絞られたのを耳が認識しました。

↓このstackOverFlowで2個目のヤツが0voteだったけどこっちが正解な気がします。
stack overflow

以上です。。
おわり。

 

2014-11-04 | Posted in JavaScript - jQueryNo Comments » 


関連記事

Comment





Comment



*