Воспроизвести звук в веб-приложении iPhone - PullRequest
5 голосов
/ 06 октября 2010

Я полагаю, что для воспроизведения звука может использоваться HTML5 или JS?

Прежде чем вы отметите это как дубликат, этот вопрос старый, поэтому я считаю устаревшим:

Воспроизвести звук в веб-приложении iPhone с помощью Javascript?

Ответы [ 3 ]

1 голос
/ 06 октября 2010

Может быть, вы могли бы использовать событие JS, отправить событие вашему делегату UIWebView, а затем воспроизвести звук с использованием target-c?

Лучшее решение, я думаю ^^

Для решенияв HTML5 понятия не имею.Вы можете взглянуть на Звуковые эффекты в JavaScript / HTML5

Но я не уверен, что это решение будет работать на всех устройствах.Это зависит от того, нужно ли вам воспроизводить звук «часто» или нет.

0 голосов
/ 13 февраля 2012

Текущая версия мобильного Safari (iOS 5.0.1) имеет слабую аудио поддержку HTML5.Метод воспроизведения аудиообъекта будет работать спорадически, но только в результате прямого щелчка пользователем, и он не будет предварительно загружен (ожидайте случайную задержку при первом воспроизведении). Это делает нецелесообразным использование звука в веб-приложениях iPhone на данный момент.

0 голосов
/ 14 октября 2010

Если замечены некоторые проблемы в Chrome, но в других крупных браузерах это может сработать.

HTML:

<audio id="sound_example" title="Sample" autobuffer>
  <source src="sample1.wav" type="audio/x-wav">
  <source src="sample2.ogg" type="application/ogg">
  <source src="sample3.mp3" type="audio/mpeg">
</audio>

Javascript:

var playThis = document.getElementById("sound_example");
if (!playThis.paused) {
    playThis.pause();
    playThis.currentTime = 0.0;
}
tmpAudio.play();

Очевидно, что вам нужно предоставить свои wav , ogg или mp3 , чтобы попробовать это самостоятельно. Проверка на паузу имеется, поэтому, если условие выполнено, оно будет сброшено перед повторным воспроизведением.

Если вы хотите вообще пропустить тег audio , вы можете воспользоваться этим:

var sound_example = new Audio("sample3.mp3");
sound_example.play();

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...