Как создать кнопку включения / выключения звука? - PullRequest
3 голосов
/ 25 мая 2009

Я видел много веб-страниц с простой кнопкой включения / выключения звука, которая воспроизводит музыку или некоторые mp3-файлы, когда вы нажимаете звук, и выключает их, когда вы нажимаете.

Как мне это сделать?

Привет, я не планировал использовать Flash - если есть стандартный плагин, который я мог бы использовать, а затем внести изменения в сценарий, это было бы круто.

Я открыт для любого "стандартного" способа сделать это.

Ответы [ 5 ]

2 голосов
/ 25 мая 2009

Вот правильный способ сделать это в AS3.

Инициализация:

var sound:Sound;
var channel:SoundChannel;
var pos:Number;
var numLoops:Number = 0; // 0 to loop forever

sound = new Sound();
sound.load( new URLRequest("song.mp3") );
channel = sound.play( 0, numLoops );

Остановка воспроизведения:

pos = channel.position;
channel.stop();

Начало воспроизведения:

channel = sound.play( pos, numLoops );

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

1 голос
/ 19 марта 2012

Вы можете попробовать встроить мой Javascript SoundPlayer и посмотреть, сработает ли это для вас. Его легко использовать, просто скопируйте приведенный ниже код на свою веб-страницу.

<script language="javascript" type="text/javascript" src="http://lablogic.net/scripts/soundplayer/audio_o.js"></script>

<a href="#" onclick='play("your-sound-file.mp3")'>PLAY</a>
<a href="#" onclick='stop("your-sound-file.mp3")'>STOP</a>

просто замените «your-sound-file.mp3» на URL или местоположение вашего звукового файла. Он должен работать в большинстве браузеров и в большинстве звуковых форматов. Если это не сработает, мне бы очень хотелось получить обратную связь, чтобы я мог улучшить ее еще больше. Вы можете попробовать скрипт здесь, чтобы увидеть, работает ли он первым: бесплатный проигрыватель звуков javascript

0 голосов
/ 03 января 2010

Я использовал Google, а затем я использовал pixel1 автономный

0 голосов
/ 25 мая 2009

Предполагается, что вы используете Flash, как указано выше.

AS2

stopAllSounds();

AS3

var xf:SoundTransform = SoundMixer.soundTransform;
xf.volume = 0;
SoundMixer.soundTransform = xf;
0 голосов
/ 25 мая 2009

Используете ли вы Flash? В этом случае вы можете сделать это так:

stopAllSounds();

или

theSound.stop(["id"]);
...