T-34 сказал(а)
Класс! Всё получилось)
Только как то через раз работает символ переноса строки "энд#013;"(ни как теги -код- и -пре- не хотят тут работать))
Для многострочного кода используй pre
Приветствую! Спасибо огромное за помощь! Всё работает как часы, уже почти месяц наслаждаюсь озвучкой)
Хотелось бы продолжить. Идея такая:
Нужна кнопка, при нажатии на которую воспроизводится случайная фраза, всего их около 100 шт. Кнопка должна быть так же завязана на нашу кнопку включения-отключения звуков, становилась невидимой при отключении и видимой при включенных звуках.
Спасибо!
T-34 сказал(а)
Приветствую! Спасибо огромное за помощь! Всё работает как часы, уже почти месяц наслаждаюсь озвучкой)
Хотелось бы продолжить. Идея такая:
Нужна кнопка, при нажатии на которую воспроизводится случайная фраза, всего их около 100 шт. Кнопка должна быть так же завязана на нашу кнопку включения-отключения звуков, становилась невидимой при отключении и видимой при включенных звуках.
Спасибо!
1. HTML код блока с новой кнопкой:
<div class="apoplayblock"> Воспроизвести случайный звук <br><br> <a href="javascript://" onclick="randomsound()"><img src="//imapo.ru/img/video-play.png"></a> </div>
.apoplayblock { display: none; } .apoplayblock.active { display: block; }
$ = jQuery; $(function() { var playblock = $('.apoplayblock'); $('*[apoplaytester]').each(function() { if($(this).attr('apoplaytester').split(',')[0] != null) { $(this).click(function() { aposoundsplay($(this).attr('apoplaytester').split(',')[0]); }); }; if($(this).attr('apoplaytester').split(',')[1] != null) { $(this).mouseover(function() { aposoundsplay(false, $(this).attr('apoplaytester').split(',')[1]); }); }; }); // Если звук включен if(localStorage.getItem('unmuted') == 1) { $('.apomuteblock a img').attr('src', '//imapo.ru/img/onme.png'); playblock.show(); }; // Функция включения звука $('.apomuteblock a').click(function() { if(localStorage.getItem('unmuted') == 1) { $(this).find('img').attr('src', '//imapo.ru/img/offme.png'); playblock.hide(); localStorage.removeItem('unmuted'); } else { $(this).find('img').attr('src', '//imapo.ru/img/onme.png'); playblock.show(); localStorage.setItem('unmuted', 1); }; }); }); function aposoundsplay(a, b) { var audioblock = $('#apoaudio'); if(localStorage.getItem('unmuted') == 1) { if(a != false) { audioblock.attr('src', a).play(); }; if(b != false) { audioblock.attr('src', b).play(); }; }; }; // Проигрывание случайного звука function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min)) + min; } function randomsound() { var sounds = ['//imapo.ru/sound/aporing1.ogg','//imapo.ru/sound/aporing2.ogg','//imapo.ru/sound/aporing3.ogg','//imapo.ru/sound/aporing4.ogg','//imapo.ru/sound/aporing5.ogg']; var audioblock = $('#apoaudio'); if(localStorage.getItem('unmuted') == 1) { aposoundsplay(sounds[getRandomInt(0, sounds.length)]); } }
PS. Обрати внимание на участок
var sounds = ['//imapo.ru/sound/aporing1.ogg','//imapo.ru/sound/aporing2.ogg','//imapo.ru/sound/aporing3.ogg','//imapo.ru/sound/aporing4.ogg','//imapo.ru/sound/aporing5.ogg'];
Замени массив звуков на свой
$ = jQuery; $(function() { var playblock = $('.apoplayblock'); $('*[apoplaytester]').each(function() { if($(this).attr('apoplaytester').split(',')[0] != null) { $(this).click(function() { aposoundsplay($(this).attr('apoplaytester').split(',')[0]); }); }; if($(this).attr('apoplaytester').split(',')[1] != null) { $(this).mouseover(function() { aposoundsplay(false, $(this).attr('apoplaytester').split(',')[1]); }); }; }); // Если звук включен if(localStorage.getItem('unmuted') == 1) { $('.apomuteblock a img').attr('src', '/img/zvuk2.png'); playblock.show(); }; // Функция включения звука $('.apomuteblock a').click(function() { if(localStorage.getItem('unmuted') == 1) { $(this).find('img').attr('src', '/img/zvuk1.png'); playblock.hide(); localStorage.removeItem('unmuted'); } else { $(this).find('img').attr('src', '/img/zvuk2.png'); playblock.show(); localStorage.setItem('unmuted', 1); }; }); }); function aposoundsplay(a, b) { var audioblock = $('#apoaudio'); if(localStorage.getItem('unmuted') == 1) { if(a != false) { audioblock.attr('src', a).play(); }; if(b != false) { audioblock.attr('src', b).play(); }; }; }; // Проигрывание случайного звука function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min)) + min; } function randomsound() { var sounds = [ '/sound/boty/1.ogg', '/sound/boty/2.ogg', '/sound/boty/3.ogg', '/sound/boty/4.ogg', '/sound/boty/5.ogg' ]; var audioblock = $('#apoaudio'); if(localStorage.getItem('unmuted') == 1) { aposoundsplay(sounds[getRandomInt(0, sounds.length)]); } }
Заработало! Очистил кеш. Спасибо огромное! Буду реализовывать.
Возможно сделать так, что б эти звуки проигрывались до конца, не останавливалось воспроизведение при наведении на другие кнопки?
Звуков набралось больше 500. Ограничение в ФМ юкоз 200 файлов в папке. Есть возможность воспроизводить звуки из 3-4х разных папок?
T-34 сказал(а)
Заработало! Очистил кеш. Спасибо огромное! Буду реализовывать.
Возможно сделать так, что б эти звуки проигрывались до конца, не останавливалось воспроизведение при наведении на другие кнопки?
Звуков набралось больше 500. Ограничение в ФМ юкоз 200 файлов в папке. Есть возможность воспроизводить звуки из 3-4х разных папок?
Да, можно сделать, чтобы эти случайные звуки воспроизводились до конца, но может быть проблема наложения одних звуков на другие. Если это устроит, сделаю
По поводу папок: конечно. Ты можешь добавлять в массив любые звуки с любых источников
Apocalypse сказал(а)
Да, можно сделать, чтобы эти случайные звуки воспроизводились до конца, но может быть проблема наложения одних звуков на другие. Если это устроит, сделаю
Да, спасибо, в моём случае это нужно. Фразы проигрываются 3-5 секунд, после нажатия, мышку сдвигаешь и попадаешь на соседние кнопки, фразы останавливаются. повторюсь, до конца должны проигрываться только эти случайные звуки, звуки всех кнопок должны остаться как прежде, со стопом.
Ещё такая хотелка)-
Эти фразы должны проигрываться независимо от других кнопок, но кнопка проигрывания этих звуков, должна останавливать текущий рандомный звук и включать другой) (если это возможно)
Apocalypse сказал(а)
По поводу папок: конечно. Ты можешь добавлять в массив любые звуки с любых источников
И названия треков не обязательно нумеровать по порядку?
T-34 сказал(а)
Ещё нужен скрипт так же проигрывания случайных звуков при нажатии на кнопку, но теперь без кнопки включения выключения. Сам пытался удалять участки кода, ну и конечно же ни чего не вышло. Подскажи плиз! 😃
Вот код скрипта:
$ = jQuery; function aposoundsplay(a, b) { var audioblock = $('#apoaudio'); if(a != false) { audioblock.attr('src', a).play(); }; if(b != false) { audioblock.attr('src', b).play(); }; }; // Проигрывание случайного звука function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min)) + min; } function randomsound() { var sounds = [ '/sound/boty/1.ogg', '/sound/boty/2.ogg', '/sound/boty/3.ogg', '/sound/boty/4.ogg', '/sound/boty/5.ogg' ]; var audioblock = $('#apoaudio'); aposoundsplay(sounds[getRandomInt(0, sounds.length)]); }
Почему то не получается
<script src="//stronghold.ucoz.net/_js/soundGMB.js"></script> <style type="text/css"> .apoplayblock { position: absolute; display: block; width: 220; height:130px; z-index:99; } </style> <a href="javascript://" onclick="randomsound()"> <div title="Нажмите и услышите случайный ответ Бота!" class="apoplayblock"> </div> </a> <audio id="apoaudio" autoplay="false" type="audio/mp3"></audio>