Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Другие темы раздела
JavaScript В html из файла https://www.cyberforum.ru/ javascript/ thread5098.html
Народ возник вопрос. мне нада чтоб html страница с помощью скрипта (лутше ява) в одно место подгружала из файла текст и он распознавался страницей как html код
Диалоговое окно с кнопками "да" и "нет" JavaScript
Подскажите как сделать, когда жмешь на картинку, что бы выходило диалоговое окно с кнопкоми да и нет, подтверждение действия.
JavaScript Исходник сапера на javascript
Помогите пожалуйста найти исходник игры сапер на javascript. Очень нужно. Заранее благодарю
JavaScript Нужен учебник по Js Дайте пожалуста Полный путёвый учебник по JavaScript со словарём со всеми функциями примерами и наворотами под несколько браузеров !!!!! Doberman@xaker.ru или ссылку!! Заранее огромное спасибо! https://www.cyberforum.ru/ javascript/ thread4236.html
JavaScript swfobject.js как его писать или дайте учебник(на русском) https://www.cyberforum.ru/ javascript/ thread4222.html
Помогите разобраться в сценарии с расшерение js, в частности хочу сделать менюшку что бы она отображалась когдта в браузере отключен запуск активного содержания окна и отоброжение рисунков Заранее...
JavaScript вопрос javascript
как задать исполнение скрипта в определенной ячейке таблицы текущего документа(сменяемый текст)...
Изменение размера окна -> изменение размера картинки JavaScript
Есть картинка на Homepage, как сделать так, что бы при изменении окна браузера размер картинки автоматически изменялся соответственно размерам окна.
JavaScript Ссылка на дочернее окно (javascript) Привет всем. Неподскажете как получить ссылку на дочернее окно из родительского (при отсуствие ссылки 'widow.open()') ? Проблема в следующем. Есть N-ное количество всплывающих окон открытых одно... https://www.cyberforum.ru/ javascript/ thread4105.html
JavaScript Технология AJAX или опять JS? https://www.cyberforum.ru/ javascript/ thread3489.html
Необходимо добавить на страницу таблицу с данными из текстового файла вида: 0|data1|data2|data3... 1|data1|... ... n|data1|... Мне нужно загнать все эти данные в двумерный массив. В PHP это...
JavaScript Ловля Enter'a c помощью удочки Javascript Два элемента формы (text,password). Юзер активировал text и ввёл, допустим, логин. Далее нужно при нажатии на Enter активировать пароль. https://www.cyberforum.ru/ javascript/ thread3331.html
Юзер с абсолютным слухом
663 / 460 / 183
Регистрация: 17.12.2010
Сообщений: 1,347
01.03.2017, 12:20 0

Обмен готовыми решениями

01.03.2017, 12:20. Просмотров 64934. Ответов 66
Метки (Все метки)

Ответ


Простой конвертер аудиофайлов из формата WAW в формат МП3 с использованием библиотеки libmp3lame.min.js
Хочу предложить конвертер из WAW в МП3. Это - результат упрощения мной сложного примера, найденного в интернете. Изначально этот пример был рассчитан на конвертирование только монофонических WAV-файлов. Правда, после того, как я подключил возможность конвертировать стереофайлы, теперь они обрабатываются корректно, а вот монофайлы тоже с натяжкой конвертируютя, но при этом почему-то используют до 500 мб оперативки.
Откуда я был скачал исходный пример и библиотеку, я уже сейчас к сожалению не смог найти, поэтому отправляю во вложении библиотеку, так же тестовый WAV-файл и результат конвертирования:
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
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
<!DOCTYPE html>
<html>
<head>
    <title>Конвертер из WAV в MP3</title>
    <meta charset="windows-1251">
</head>
<body bgcolor=#ccc><center>
<h3>Конвертер из WAV в MP3</h3>
<audio id=audio controls></audio><br><br>
<div id="fileInputContainer">
    <input id=myfile type=file onchange="myconverting(this.files[0])">
</div><br>
<a id=mydownloadlink style="display:none">тут будет ссылка на скачивание MP3</a>
<script src="libmp3lame.min.js"></script>
<script>
function myconverting(blob){
    mydownloadlink.href="";
    mydownloadlink.innerHTML="подождите...";
    mydownloadlink.style.display="block";
    var fileReader=new FileReader();
    fileReader.readAsArrayBuffer(blob);
    fileReader.onload=function(){
        var arrayBuffer=this.result;
        var buffer=new Uint8Array(arrayBuffer);
        function readInt(i,bytes){
            var ret=0,shft=0;
            while(bytes){
                ret+=buffer[i]<<shft;
                shft+=8;
                i++;
                bytes--;
            };
            return ret;
        };
        var sampleRate=readInt(24,4);
        var bitsPerSampl=readInt(34,2);
        var numchannels=readInt(30,1); // определяем количество стереоканалов в файле - 1 или 2 
        var splitchannels=2*Math.floor(numchannels/2);
        var samples=buffer.subarray(44);
        mp3codec = Lame.init();
        Lame.set_mode(mp3codec,1);
        Lame.set_num_channels(mp3codec,2);
        Lame.set_num_samples(mp3codec,samples);
        Lame.set_in_samplerate(mp3codec,sampleRate);
        Lame.set_out_samplerate(mp3codec,sampleRate);
        Lame.set_bitrate(mp3codec,128); // задаём битрейт
        Lame.init_params(mp3codec);
        var f32Buffer_l=new Float32Array(samples.length/numchannels);
        var f32Buffer_r=new Float32Array(samples.length/numchannels);
        for(var i=0;i<samples.length/numchannels;i++){
            f32Buffer_l[i]=(samples[i*2*numchannels]+((samples[i*2*numchannels+1]^128)*256)-0x8000)/0x8000;
            f32Buffer_r[i]=(samples[i*2*numchannels+splitchannels]+((samples[i*2*numchannels+splitchannels+1]^128)*256)-0x8000)/0x8000;
        }
        var mp3data=Lame.encode_buffer_ieee_float(mp3codec,f32Buffer_l,f32Buffer_r); // конвертируем
        Lame.close(mp3codec);
        mp3codec=null;
        var binary="",bytes=new Uint8Array(mp3data.data);
        for (var i=0;i<bytes.byteLength;i++){binary+=String.fromCharCode(bytes[i]);};
        var url='data:audio/mp3;base64,'+window.btoa(binary);
        audio.src=url;
        audio.play(); // играем
        mydownloadlink.href=url;
        mydownloadlink.innerHTML="с к а ч а т ь"; // качаем
        var nd=new Date();
        mydownloadlink.download=nd.getFullYear()+""+az(nd.getMonth()+1)+""+az(nd.getDate())+""+az(nd.getHours())+""+az(nd.getMinutes())+""+az(nd.getSeconds())+".mp3";
        fileInputContainer.innerHTML = fileInputContainer.innerHTML;
        function az(i){return(i<10)?"0"+i:i;};
    };
};
</script>
</center></body>
</html>
В браузере Опера к сожалению не работает.

Вернуться к обсуждению:
Обмен готовыми решениями
0
Вложения
Тип файла: zip lamemin.zip (827.3 Кб, 1 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2017, 12:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как запускать браузер с готовыми настройками?
пишу этот код, но всё равно выдаёт ошибку: InvalidOperationException не обработано пользовательским...

Подскажите сайты с готовыми спрайтами под меню
Подскажите сайты с готовыми спрайтами, лучше под меню. Пожалуйста...

Связь с готовыми mdb и accdb через форму
Добрый вечер! Нужна программная реализация подключения к бд, вывод данных из таблицы на форму...

На просторах интернета нашел файлик с готовыми макросами
Заливаю чтоб было, может кто найдет для себя готовые решения для своих задач.

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.