Some Improves
This commit is contained in:
@@ -2,6 +2,7 @@ var stream_url = 'http://stream.santic-zombie.ru';
|
||||
var audio = new Audio(stream_url);
|
||||
audio.volume = 0.05;
|
||||
|
||||
|
||||
var play = document.getElementById('play');
|
||||
play.addEventListener('click', function() {
|
||||
var MsgText = $('<div id="message-success"><p>Play</p></div>');
|
||||
|
||||
39
js/radio.js
39
js/radio.js
@@ -79,18 +79,39 @@ function getYouTubeRequest(MPDfile) {
|
||||
key: 'AIzaSyCfkMY2Nk3QwEh1Tjdqm-8GueBqOS5jgeI',
|
||||
q: MPDfile
|
||||
};
|
||||
$.getJSON(url, params, showResults);
|
||||
// $.getJSON(url, params, showResults);
|
||||
$.getJSON(url, params, function() {
|
||||
console.log( "success" );
|
||||
})
|
||||
.done(function(results) {
|
||||
// showResults;
|
||||
console.log( "second success" );
|
||||
var entries = results.items;
|
||||
thumb = entries[0].snippet.thumbnails.medium.url;
|
||||
YouURL = entries[0].id.videoId;
|
||||
document.querySelector('img[name="YouTubeThumb"]').setAttribute('src', thumb);
|
||||
document.querySelector('a[name="YouTubeURL"]').setAttribute('href', "https://www.youtube.com/watch?v="+YouURL);
|
||||
console.log("https://www.youtube.com/watch?v="+YouURL);
|
||||
})
|
||||
.fail(function() {
|
||||
console.log( "error" );
|
||||
document.querySelector('img[name="YouTubeThumb"]').setAttribute('src', '/pic/error.jpg');
|
||||
document.querySelector('a[name="YouTubeURL"]').setAttribute('href', "https://www.youtube.com/watch?v=empty");
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function showResults(results) {
|
||||
var entries = results.items;
|
||||
thumb = entries[0].snippet.thumbnails.medium.url;
|
||||
YouURL = entries[0].id.videoId;
|
||||
document.querySelector('img[name="YouTubeThumb"]').setAttribute('src', thumb);
|
||||
document.querySelector('a[name="YouTubeURL"]').setAttribute('href', "https://www.youtube.com/watch?v="+YouURL);
|
||||
console.log("https://www.youtube.com/watch?v="+YouURL);
|
||||
}
|
||||
// Процедура для формирования ссылки и картинки на Youtube
|
||||
// function showResults(results) {
|
||||
// var entries = results.items;
|
||||
// thumb = entries[0].snippet.thumbnails.medium.url;
|
||||
// YouURL = entries[0].id.videoId;
|
||||
// document.querySelector('img[name="YouTubeThumb"]').setAttribute('src', thumb);
|
||||
// document.querySelector('a[name="YouTubeURL"]').setAttribute('href', "https://www.youtube.com/watch?v="+YouURL);
|
||||
// console.log("https://www.youtube.com/watch?v="+YouURL);
|
||||
// }
|
||||
|
||||
// Процедура формирования списка проигрынных треков
|
||||
function addText(MPDfile) {
|
||||
let last_track = document.createElement('div');
|
||||
last_track.className = "list_el";
|
||||
|
||||
58
js/visual.js
Normal file
58
js/visual.js
Normal file
@@ -0,0 +1,58 @@
|
||||
window.onload = function() {
|
||||
|
||||
audio.src = 'http://stream.santic-zombie.ru';
|
||||
audio.crossOrigin = "anonymous";
|
||||
audio.load();
|
||||
|
||||
var context = new AudioContext();
|
||||
var src = context.createMediaElementSource(audio);
|
||||
var analyser = context.createAnalyser();
|
||||
|
||||
var canvas = document.getElementById("canvas");
|
||||
canvas.width = window.innerWidth;
|
||||
canvas.height = window.innerHeight;
|
||||
var ctx = canvas.getContext("2d");
|
||||
|
||||
src.connect(analyser);
|
||||
analyser.connect(context.destination);
|
||||
|
||||
analyser.fftSize = 256;
|
||||
|
||||
var bufferLength = analyser.frequencyBinCount;
|
||||
console.log(bufferLength);
|
||||
|
||||
var dataArray = new Uint8Array(bufferLength);
|
||||
|
||||
var WIDTH = canvas.width;
|
||||
var HEIGHT = canvas.height;
|
||||
|
||||
var barWidth = (WIDTH / bufferLength) * 2.5;
|
||||
var barHeight;
|
||||
var x = 0;
|
||||
|
||||
function renderFrame() {
|
||||
requestAnimationFrame(renderFrame);
|
||||
|
||||
x = 0;
|
||||
|
||||
analyser.getByteFrequencyData(dataArray);
|
||||
|
||||
// ctx.fillStyle = "rgba(60, 60, 60, 0)";
|
||||
ctx.clearRect(0, 0, WIDTH, HEIGHT);
|
||||
|
||||
for (var i = 0; i < bufferLength; i++) {
|
||||
barHeight = dataArray[i];
|
||||
|
||||
var r = barHeight + (25 * (i/bufferLength));
|
||||
var g = 250 * (i/bufferLength);
|
||||
var b = 50;
|
||||
|
||||
ctx.fillStyle = "rgb(" + r + "," + g + "," + b + ")";
|
||||
ctx.fillRect(x, HEIGHT - barHeight, barWidth, barHeight);
|
||||
|
||||
x += barWidth + 1;
|
||||
}
|
||||
}
|
||||
|
||||
renderFrame();
|
||||
}
|
||||
Reference in New Issue
Block a user