0
私はジャンルに基づいて私のウェブサイトでsoundcloud playerを呼び出しています。しかし、時には "未定義のプロパティ 'uri'を読み取ることができず、時にはそうではありません。私のコードを見ている理由は何ですか?Soundcloud api "Uncaught TypeError:未定義の 'uri'を読み取れません"
<div class="col-xs-6 col-md-3">
<a href="javascript:;" class="genre" style="width: 100%; float:left;">
<div class="card trance" data-genre="trance">
<div class="overlay-card" style="display: table;">
<span><h2>Trance</h2></span>
</div>
</div>
</a>
</div>
<div class="col-xs-6 col-md-3">
<a href="javascript:;" class="genre" style="width: 100%; float:left;">
<div class="card techno" data-genre="techno">
<div class="overlay-card" style="display: table;">
<span><h2>Techno</h2></span>
</div>
</div>
</a>
</div>
<div class="col-xs-6 col-md-3">
<a href="javascript:;" class="genre" style="width: 100%; float:left;">
<div class="card metal" data-genre="metal">
<div class="overlay-card" style="display: table;">
<span><h2>Metal</h2></span>
</div>
</div>
</a>
</div>
クリックしてアクション機能
$('.genre').click(function(){
if($(this).find('.card').attr('data-genre').length > 0){
playSound($(this).find('.card').attr('data-genre'));
$('#results').html('<img src="assets/image/spinner.gif" class="loader">').show();
$('#loader').css({'display': 'none'});
}else{
console.log('length 0');
}
});
サウンド演奏機能
function playSound(genre){
SC.get('/tracks',
{
genres: $.trim(genre),
order: 'hotness',
// q: '*',
bpm: {
from: 100
},
limit: 50
}, function(tracks){
var random = Math.floor(Math.random() * 49);
console.log(genre); /* It is always returning true */
SC.oEmbed(tracks[random].uri, {auto_play: true, maxheight: 240, show_comments: true }, document.getElementById('results'));
$('.genre-playing h3').html(genre.toUpperCase());
$('.genre-playing').css({'display': 'block'});
});
}
を確認するには、問題は、私にplaySound()
内部console.log(genre)
である何。私はクリックしたジャンルを常に返しています。では、ここで何が問題になるのでしょうか?
これを使用すると、あなたはトラックの配列の長さに対するランダムの値を確認しましたか?それらの両方をconsole.logに記録し、エラーが発生したときにどのような値を持っているかを確認します。 – theatlasroom
コンソールに 'tracks [random]'を記録し、チェックします。 –
より安全な乱数は 'var random = Math.floor(Math.random()* tracks.length)' – Phil