Jump to content
  • 0

Вопросы по Javascript, Jquery.


koderman
 Share

Question

Как склепать команду из символов?
Нужно собрать эту команду

audio.play();

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


    var audio1 = new Audio('musik.wav');

    var i = 1;

    "audio"+i+".play();"
 

Link to comment
Share on other sites

Recommended Posts

  • 0

Команда audio1.play(); должна воспроизводить звук.
В вашем примере этого не произойдёт.
Мне нужно только цифру добавлять к слову audio.
Будет много аудио файлов и я их таким образом хочу перебирать.

Link to comment
Share on other sites

  • 0

Я бы не стал делать eval. Я бы сделал обёртку.

audioWrapperObject = {    'audio1': new Audio('music.wav'),    ...}

И потом бы просто обращался так

audioWrapperObject["audio"+i].play()

Так, мне кажется, правильнее со всех сторон.

  • Like 1
Link to comment
Share on other sites

  • 0

Я бы не стал делать eval. Я бы сделал обёртку.

audioWrapperObject = {    'audio1': new Audio('music.wav')}
Почему в Интернет Эксплорере не работает такое создание объекта? Именно создание объекта с аудио объектом внутри.

В Хроме и Фаерфоксе работает.

Edited by koderman
  • Like 1
Link to comment
Share on other sites

  • 0

Просто ругается на эту запись
music = {
    audio1: new Audio('1.mp3')
     }
Консоль ошибок IE8 пишет что в этой строке ошибка. Code 0 . пустая страница появляется.

В Фаерфоксе и хроме работает хорошо .

Edited by koderman
Link to comment
Share on other sites

  • 0

ну тогда может лучше так?

var audio = []

audio[0] = new Audio('0.mp3')

audio[1] = new Audio('1.mp3')

ещё проще. если названия - числа и идут подряд, то можно циклом заполнить.

а потом обращаться

 audio[0].play()

 

Просто ругается на эту запись music = {     audio1: new Audio('1.mp3')      }  

так то почитай про поддержку браузерами.

html 5 - от ie9+ 

Edited by Николя223
Link to comment
Share on other sites

  • 0

Вот пример
http://learn.javascript.ru/play/IvGmB
Извиняюсь за трек, другого не нашёл))

Интернет Эксплорер версии 8 поставил.


Николя223,  а где хтмл5? Можно на хтмл 4 переделать как то? Чтобы кроссбраузерно было.

Link to comment
Share on other sites

  • 0
Интернет Эксплорер версии 8 поставил.

 

Audio API поддерживается начиная с 9 версии. Если надо в старых ИЕ, то нужно писать скрипт проверки, что ИЕ старый и подсовывать ему что-то другое. Обычно работа с аудио в старых браузерах реализуется через flash.

 

Я вообще вам рекомендую использовать уже готовые решения наподобие такого. Ну или выберите тут из списка, что вам больше нравится.

Link to comment
Share on other sites

  • 0

МП3 в ХТМЛ4 нельзя чтоли запустить в ИЕ8?

Здесь http://kolber.github.io/audiojs/ один файл audiojs.swf И если нужно поставить другой трек, то нужно заменять сам файл, потому-что возможности изменить код нету. Там раз 10 Ето имя файла встречается в коде.
Есть такие коды где можно комбинировать код в зависимости от того какую музыку я хочу поставить?

Edited by koderman
Link to comment
Share on other sites

  • 0

mp3 можно запустить в ИЕ8, для этого вам нужно будет воспользоваться тегом <embed>. Если вы не хотите пользоваться готовыми решениями в этой области, то вы можете написать своё решение, которое будет определять версию ИЕ и подставлять <embed> вместо <audio>.

  • Like 1
Link to comment
Share on other sites

  • 0

Немного ознакомился с аудио приёмами.

Связан ли как-то new Audio(); объект с тегами  <audio> в хтмл5? Потому что есть одинаковые команды для этих двух вещей. play например.  


Есть другие способы воспроизводить мп3 в хтмл4 на  IE8 кроме <embed>? При использовании этого тега нужно ставить дополнительный плагин Apple Quicktime. Что не все будут делать конечно же. Просто уйдут со страницы.

Edited by koderman
Link to comment
Share on other sites

  • 0

:facepalmxd:

это простая ссылка на создание нового элемента

 в скрипте напиши и через консоль увидешь что в боди добавилось

var tg = new Audio()

document.getElementsByTagName("body")[0].appendChild(tg)

 

 

 

 

http://learn.javascript.ru/play/Kepyr

Edited by Николя223
Link to comment
Share on other sites

  • 0

А если такая штука  http://kolber.github.io/audiojs/ у меня на сервере стоять будет то, пользователи будут видеть всё корректно в своих старых браузерах? Или им тоже нужно будет данную вещь http://kolber.github.io/audiojs/ устанавливать?
——————

audioJS пишет в консоле IE8 что в строке 13 ошибка в файле плеера audioJS.
В Фаерфоксе и Хроме работает.

 

jPlayer  нигде не запускается.

SoundJS не работает в IE8.
В Фаерфоксе и Хроме работает.

 

Здесь http://www.schillmania.com/projects/soundmanager2/ написано HTML5-only mode.

 

 

LeanBack Player Тоже с IE8 не работает. Почему там написано кроссбраузерно не знаю.
С Фаерфокс и Хромом работает.
————————-

Есть что нибудь попроще и что работает?

Edited by koderman
Link to comment
Share on other sites

  • 0

audioJS пишет в консоле IE8 что в строке 13 ошибка в файле плеера audioJS.

Зайдите на их сайт из ИЕ8. Если у них на сайте работает (например у меня заработало без проблем), значит вы что-то не так подключили. Аналогично и с остальными скриптами.

А если такая штука  http://kolber.github.io/audiojs/ у меня на сервере стоять будет то, пользователи будут видеть всё корректно в своих старых браузерах? Или им тоже нужно будет данную вещь устанавливать?

Никому ничего не нужно будет устанавливать, всё установится автоматом.
Link to comment
Share on other sites

  • 0

Видимо что-то не так делаю. Онлайн работает в IE8 на ихнем сайте. http://kolber.github.io/audiojs/

Что тут не так? http://learn.javascript.ru/play/490pw

 

1. Добавляю библиотеку <script src="audio.min.js"></script>

2. Добавляю код

<script>
  audiojs.events.ready(function() {
    var as = audiojs.createAll();
  });
</script>

3. И использую тег  <audio>.

В IE8 не работает.

Edited by koderman
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy