Аудио в подсказке / зависании? - PullRequest
3 голосов
/ 27 октября 2011

Я хотел бы включить звук, который будет автоматически воспроизводиться при прокрутке пользователя.Я не нашел подсказку, которая будет делать это.Кто-нибудь знает способ сделать это?

(Примечание. Пользователь будет предупрежден об аудио, прежде чем он получит доступ к странице.)

ОБНОВЛЕНИЕ

Я получил эту работу благодаря Бакудану - хан ювиги.Но есть ли возможность мгновенного отступления по методу Бакудана - Хана Ювиги?Спасибо!

ОБНОВЛЕНИЕ 2

Использование Bakudan - рекомендованного Ханом Ювиги метода добавления резервной копии флэш-памяти с использованием swfobject оставляет меня немного запутаннымМое отсутствие знаний JavaScript - вот где я теряюсь.Вот код, который я использую для своего аудио:

    <script>

// Mouseover/ Click sound effect- by JavaScript Kit (www.javascriptkit.com)
// Visit JavaScript Kit at http://www.javascriptkit.com/ for full source code

var html5_audiotypes={ //define list of audio file extensions
"mp3": "audio/mpeg",
"ogg": "audio/ogg",
}

function createsoundbite(sound){
var html5audio=document.createElement('audio')
if (html5audio.canPlayType){ //check support for HTML5 audio
    for (var i=0; i<arguments.length; i++){
        var sourceel=document.createElement('source')
        sourceel.setAttribute('src', arguments[i])
        if (arguments[i].match(/\.(\w+)$/i))
            sourceel.setAttribute('type', html5_audiotypes[RegExp.$1])
        html5audio.appendChild(sourceel)
    }
    html5audio.load()
    html5audio.playclip=function(){
        html5audio.pause()
        html5audio.currentTime=0
        html5audio.play()
    }
    return html5audio
}
else{
    return {playclip:function(){throw new Error(
      "Your browser doesn't support HTML5 audio unfortunately")}}
}
}

//Initialize sound clips with 1 fallback file each:

var mouseoversound=createsoundbite(
   "/messages4u/2011/images/october/laugh.ogg",      
  "/messages4u/2011/images/october/laugh.mp3")

</script>

Я изменил остальное на флэш-память вместо сообщения об ошибке.Как мне изменить это с помощью swfobject для воспроизведения аудиофайла flash?Я немного растерялся.

Спасибо за помощь!

Ответы [ 3 ]

2 голосов
/ 27 октября 2011

Это - хорошее начало. Я сделал демо . Если звук немного длиннее, добавьте функцию stopclip в функцию createoundbite, а затем добавьте его в .mouseleave .

Edit:

Чтобы добавить флэш, измените остальную часть. Я хорошо знаком со вспышкой, но в основном использую одно из следующего:

2 голосов
/ 29 октября 2011

Вот версия, которая воспроизводит звук в старых браузерах и не требует прошивки:

var sound = document.createElement("audio");
if (!("src" in sound)) {
    sound = document.createElement("bgsound");
}
document.body.appendChild(sound);

function playSound(src) {
    sound.src = src;
    sound.play && sound.play();
}

...

playSound("/sounds/something.mp3");

Редактировать: Вот версия, которая использует .hover() для воспроизведения звука, когда мышь наводит курсор на ваш элемент:

$(function) {
    var sound = document.createElement("audio");
    if (!("src" in sound)) {
        sound = document.createElement("bgsound");
    }
    document.body.appendChild(sound);

    $(".playable").hover(function() {
        sound.src = this.soundFile;
        sound.play && sound.play();
    }, function() {
        sound.src = "";
    });
});

Настройте свои элементы для воспроизведения звука с помощью класса «playable» и настраиваемого атрибута «soundFile», содержащего исходный URL для звукового файла:

<span class="playable" soundFile="/sounds/something.mp3">Something</span>
<span class="playable" soundFile="/sounds/somethingElse.mp3">Something else</span>
0 голосов
/ 27 октября 2011
...