С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.11.2019
Сообщений: 5
1

Визуализация аудио потока

29.11.2019, 11:47. Показов 3069. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Возможно ли сделать частотную визуализацию потокового аудио?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2019, 11:47
Ответы с готовыми решениями:

Буферизация аудио потока
Здравствуйте, снова я со своими вопросами. Сделал самый простой проигрывать адио на html5 var...

Визуализация звукового потока
Подскажите как реализовать визуализацию звуковых потоков в плеере,как на картинке? 1 вид: есть...

Перехват аудио потока
Добрый вечер. Появилась такая задумка, создать графический эквалайзер, который считывает звук со...

Воспроизведение аудио потока
Для воспроизведения потока использую AVPlayer с аргументов NSURL. Подскажите, как заставить плеер...

4
Юзер с абсолютным слухом
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
30.11.2019, 03:19 2
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<html><head>
    <title>Радиовизуализатор</title>
</head>
<body><center>
<audio id="player" controls src="https://audiostream.ru" crossorigin="anonymous"></audio><br /><br /> <!--Подключаем файл-->
<canvas id="myCanvas" width=1024 height=256 style="background:blue"></canvas>
<script>
var player = document.getElementById('player');
player.onplaying = function(){
var audioCtx = new AudioContext();
var source = audioCtx.createMediaElementSource(player);
var analyser = audioCtx.createAnalyser();
    source.connect(analyser); // Подключаем анализатор к элементу audio
    analyser.connect(audioCtx.destination); // Без этой строки нет звука, но анализатор работает.
var frequencyData = new Uint8Array(analyser.frequencyBinCount);
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
setInterval(function(){
    analyser.getByteFrequencyData(frequencyData); // Записываем в массив данные уровней частот
    ctx.fillStyle = "blue"; // Задаём цвет фона
    ctx.globalAlpha = 0.05; // Это для получения эффекта плавного погасания полос
    ctx.fillRect (0, 0, canvas.width, canvas.height); // Полупрозрачно чистим экран
    ctx.fillStyle = "gold"; // Задаём цвет полос
    ctx.globalAlpha = 1;
    for(i = 0; i < 1024; i ++){
        ctx.fillRect(i, 255 - frequencyData[i], 1, frequencyData[i]); // рисуем полосу
    }
}, 20);
}
</script>
</center></body>
</html>
1
0 / 0 / 0
Регистрация: 29.11.2019
Сообщений: 5
30.11.2019, 14:14  [ТС] 3
Это работает только для https подключения? У всех стоят icecast без сертификатов, а с ними вроде как скрипт не работает(
0
Юзер с абсолютным слухом
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
30.11.2019, 23:34 4
Не только для https, http тоже.
Цитата Сообщение от soruta Посмотреть сообщение
У всех стоят icecast без сертификатов, а с ними вроде как скрипт не работает(
Что поделаешь
0
0 / 0 / 0
Регистрация: 29.11.2019
Сообщений: 5
01.12.2019, 05:00  [ТС] 5
Что ж, ну и на том спасибо.
0
01.12.2019, 05:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2019, 05:00
Помогаю со студенческими работами здесь

Сжатие и передача аудио/видео потока
Изучаю android программирование на практике. Пишу приложение, превращающее телефон в подключенную...

Воспроизведение аудио-потока (массива байтов)
Добрый вечер! Имеется модем. После получения особой команды модем начинает выдавать мне блоки...

Как разделить два потока аудио?
Приветствую! Прошу прощения если на форуме уже есть такая тема (ткните носом если есть), но я не...

Чтение данных из аудио потока (интернет-радио)
Добрый день, коллеги, я уже 2 месяца пытаюсь найти способ прочитать данные из потоков форматов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru