Лайфхак генератор mp3 плееров и радиостанций для web-странички, форума, сайта

Администратор

Пример автоматически-сгенерированного веб-плеера для сайта (вставить в 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<hr><center><p><h3>* TM MUSIC PLAYER *</h3></p>
<audio id='TM' controls src='https://musify.club/track/dl/5497392/deep-purple-knocking-at-your-back-door.mp3' type='audio/mpeg'></audio></center><hr>

<script language='javascript'>
let links=[
'https://musify.club/track/dl/5497392/deep-purple-knocking-at-your-back-door.mp3',
'https://musify.club/track/dl/5497393/deep-purple-under-the-gun.mp3',
'https://musify.club/track/dl/5497394/deep-purple-nobodys-home.mp3',
'https://musify.club/track/dl/5497395/deep-purple-mean-streak.mp3',
'https://musify.club/track/dl/5497396/deep-purple-perfect-strangers.mp3',
'https://musify.club/track/dl/5497397/deep-purple-a-gypsys-kiss.mp3',
'https://musify.club/track/dl/5497398/deep-purple-wasted-sunsets.mp3',
'https://musify.club/track/dl/5497399/deep-purple-hungry-daze.mp3',
'https://musify.club/track/dl/63846/deep-purple-bad-attitude.mp3',
'https://musify.club/track/dl/63847/deep-purple-the-unwritten-law.mp3',
'https://musify.club/track/dl/63848/deep-purple-call-of-the-wild.mp3',
'https://musify.club/track/dl/63850/deep-purple-black-and-white.mp3',
'https://musify.club/track/dl/63851/deep-purple-hard-lovin-woman.mp3',
'https://musify.club/track/dl/63852/deep-purple-the-spanish-archer.mp3',
'https://musify.club/track/dl/63853/deep-purple-strangeways.mp3',
'https://musify.club/track/dl/63854/deep-purple-mitzie-dupree.mp3',
'https://musify.club/track/dl/63855/deep-purple-dead-or-alive.mp3',
'https://musify.club/track/dl/5497552/deep-purple-the-battle-rages-on.mp3',
'https://musify.club/track/dl/5497553/deep-purple-lick-it-up.mp3',
'https://musify.club/track/dl/5497554/deep-purple-anya.mp3',
'https://musify.club/track/dl/5497555/deep-purple-talk-about-love.mp3',
'https://musify.club/track/dl/5497556/deep-purple-time-to-kill.mp3',
'https://musify.club/track/dl/5497557/deep-purple-ramshackle-man.mp3',
'https://musify.club/track/dl/5497558/deep-purple-a-twist-in-the-tale.mp3',
'https://musify.club/track/dl/5497559/deep-purple-nasty-piece-of-work.mp3',
'https://musify.club/track/dl/5497560/deep-purple-solitaire.mp3',
'https://musify.club/track/dl/5497561/deep-purple-one-mans-meat.mp3',
'https://musify.club/track/dl/5497400/deep-purple-king-of-dreams.mp3',
'https://musify.club/track/dl/5497401/deep-purple-the-cut-runs-deep.mp3',
'https://musify.club/track/dl/5497402/deep-purple-fire-in-the-basement.mp3',
'https://musify.club/track/dl/5497403/deep-purple-fortuneteller.mp3',
'https://musify.club/track/dl/5497404/deep-purple-truth-hurts.mp3',
'https://musify.club/track/dl/5497405/deep-purple-love-conquers-all.mp3',
'https://musify.club/track/dl/5497406/deep-purple-breakfast-in-bed.mp3',
'https://musify.club/track/dl/5497407/deep-purple-too-much-is-not-enough.mp3',
'https://musify.club/track/dl/5497408/deep-purple-wicked-ways.mp3',
'https://musify.club/track/dl/6201747/deep-purple-mitzi-dupree.mp3'
];

let TOTAL=37;
let CURRENT=0;

var au=document.getElementById('TM');


au.onerror=function() {
    var ua=document.getElementById('TM');
    CURRENT++;
    if (CURRENT >= TOTAL) CURRENT=0;
    ua.src=links[CURRENT];
    ua.play();
};

au.onended=function() {
    var ua=document.getElementById('TM');
    CURRENT++;
    if (CURRENT >= TOTAL) CURRENT=0;
    ua.src=links[CURRENT];
    ua.play();
};

</script>

Исходный код генератора плееров (консольное приложение C#)

 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace LinksToAudio
{
    class Program
    {
        static void Main(string[] args)
        {
            string Html = File.ReadAllText(args[0]);

            List<string> links = ExtractMp3Links(Html);

            Console.WriteLine("<hr><center><p><h3>* TM MUSIC PLAYER *</h3></p>");
            Console.WriteLine("<audio id='TM' controls src='" + links[0] + "' type='audio/mpeg'></audio></center><hr>");
            Console.WriteLine();
            Console.WriteLine("<script language='javascript'>");
            Console.WriteLine("let links=[");
            for (int i = 0; i < links.Count; i++)
            {
                Console.Write("'{0}'", links[i]);
                if (i < links.Count - 1) Console.Write(",");
                Console.WriteLine();
            }
            Console.WriteLine("];");
            Console.WriteLine();
            Console.WriteLine("let TOTAL={0};", links.Count);
            Console.WriteLine("let CURRENT=0;");
            Console.WriteLine();
            Console.WriteLine("var au=document.getElementById('TM');");
            Console.WriteLine(@"

au.onerror=function() {
    var ua=document.getElementById('TM');
    CURRENT++;
    if (CURRENT >= TOTAL) CURRENT=0;
    ua.src=links[CURRENT];
    ua.play();
};

au.onended=function() {
    var ua=document.getElementById('TM');
    CURRENT++;
    if (CURRENT >= TOTAL) CURRENT=0;
    ua.src=links[CURRENT];
    ua.play();
};
");

            Console.WriteLine("</script>");
        }

        static List<string> ExtractMp3Links(string html)
        {
            List<string> result = new List<string>();

            for (int pos = 0; pos < html.Length; pos++)
            {
                if (html.Length - pos < 10) break;
                string beg = html.Substring(pos, "https://".Length);
                if (beg.StartsWith("http://") || beg.StartsWith("https://"))
                {
                    int end = pos + "http".Length;

                    while (
                        (end < html.Length - 4) &&
                        (
                        Char.IsLetter(html[end]) || Char.IsDigit(html[end])
                        || html[end] == '-' || html[end] == '_' || html[end] == '/'
                        || html[end] == ':' || html[end] == '\\' || html[end] == '.'
                        || html[end] == '?' || html[end] == '&' || html[end] == '='
                        ) && !html.Substring(end, ".mp3".Length).Equals(".mp3")
                        ) end++;

                    if (html.Substring(end, ".mp3".Length).Equals(".mp3"))
                    {
                        string link = html.Substring(pos, end + "mp3".Length - pos + 1);

                        bool found = false;

                        foreach (string r in result) if (r.Equals(link)) { found = true; break; }
                        if (!found) result.Add(link);
                        pos = end + ".mp3".Length;
                    }
                }
            }
            return result;
        }
    }
}

Программа выше генерирует код веб-плеера mp3 по текстовому файлу или html сайта для вставки в html страничку. Без флеша, без мутных аудиопотоков, своё радио - за вечер, даже на бесплатном хостинге типа https://2x2forum.ru или https://sites.google.com и даже без платы за файловое хранилище, если ссылки давать на чужой сервер - там за хостинг файлов уже заплачено!


Пример встраивания - низ этого форума. Лайфхак, Таломир Миротал.

10 августа 2025 г., 0:31
У нужного не может быть ненужных последствий.

Администратор

@Talomir Кстати, не обязательно в футер форума вставлять, если делать своё радио с бесплатным хостингом. Можно встроить фрагмент плеера html блоком на гугл сайтах (бесплатный хостинг сайта https://sites.google.com), я оттуда ушёл так как дофига отслеживания и рекламного преследования в городе, от ГУГЛа. Но теоретически-можно, если преследование гуглом не беспокоит.... Или на любом другом бесплатном хостинге, где можно встроить фрагмент html в конструкторе сайтов или закачать свои html файлы...!

10 августа 2025 г., 1:48
У нужного не может быть ненужных последствий.

Администратор

Генератор радиостанций для web-страниц. Длинной 2 экрана исходника на C#. Генерирует код радиостанции по тектовому файлу со ссылками на mp3 или по сохранённой html страничке с музыкой (в ней должны быть ссылки на .mp3, которые генератор извлекает для создаваемого кода плеера).


5 минут на создание радиостанции.


Глобальная достижимость, прослушивание во всех точках планеты где есть интернет.


Глобальная совместимость. Сгенерированное радио играет на MacOS, Windows, Linux, Android. iOS, на смартфонах, кнопочных, планшетах, ноутбуках и настольных компьютерах - везде, где есть современный интернет браузер.


Простота плеера ведущая к надёжности и простоте исправлений и отладки, дописывания и редизайна плеера.


Бесплатные исходник генератора и плеера.


900dh, wait me on ai articles projects... Talomir Mirotal (TM) :-)

10 августа 2025 г., 4:40
У нужного не может быть ненужных последствий.

Администратор

Фотки сгенерированного плеера (который можно додизайнить под конкретную страниц\сайт\форум)


На форуме https://anti-psy.2x2forum.ru


На пустой странице:


Генерируйте, дизайните сгенерированный html фрагмент с плеером под себя. Скорее всего неделю потрачу на отказоустойчивость скрипта, сейчас он перестаёт играть при пропажах\помехах интернету в части браузеров. Если улучшу - выложу в этой теме вторую версию, и генератора плееров и сгенерированный пример!


Вроде проблема именно в перегруженной странице, сложного форума, на пустой странице играет нормально даже с плохим интернетом.

10 августа 2025 г., 5:11
У нужного не может быть ненужных последствий.

Администратор

РАДИОСТАНЦИЯ DEEP


Сделал на этом движке плеера сайт радиостанции DEEP с омолаживающи эффектом. Крутит 350 раритетных композиций deep purple 50-ти летней давности, погружая слушателя в атмосферу юности или детства. Смета:


  • Музыка - бесплатно
  • Плеер - бесплатно
  • Файлхостинг - бесплатно
  • Веб-хостинг - бесплатно
  • Монетизация - на продаже софта для омоложения с сайта станции
  • За работу по созданию готового сайта радиостанции - 50 евро мне на карту пожалуйста :-)


Больше суток не спал, теперь сутки спать, день отдыхать, опять спать и садиться за ИИ для написания статей для сайтов, превосходящий любого автора интернета в выбранной области :-)


Послушать станцию (и на телефоне) или даже добавить в закладки: https://talomir.wixsite.com/deep

10 августа 2025 г., 9:51
У нужного не может быть ненужных последствий.

Администратор

@Talomir 

10 августа 2025 г., 10:10
У нужного не может быть ненужных последствий.