Показать сообщение отдельно
  #9 (permalink)  
Старый 25.07.2010, 16:25
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Riim
Если я Вас правильно понял ...
Я написал следующий код:
<script type="text/javascript">
		var balanUrl = 'http://dl.dropbox.com/u/6001712/player/audio-100/Dan%20Balan%20-%20Chica%20Bomb.ogg';
		var plumbUrl = 'http://dl.dropbox.com/u/6001712/player/audio-100/Plumb%20-%20Hang%20On.ogg';
		var sergeUrl = 'http://dl.dropbox.com/u/6001712/player/audio-100/Serge%20Devant%20Emma%20Hewitt%20-%20Take%20Me%20With%20You.ogg';
		
		var myAudio = new Audio();

		var play = document.getElementById('play');
			play.addEventListener('click', function(){myAudio.play();}, false);
		
		var pause = document.getElementById('pause');
			pause.addEventListener('click', function(){myAudio.pause();}, false);
		
		var stop = document.getElementById('stop');
			stop.addEventListener('click', function(){myAudio.pause();myAudio.currentTime = 0;}, false);
			
		var balan = document.getElementById('balan');
			balan.addEventListener('click', function(){myAudio = new Audio();myAudio.setAttribute('src', balanUrl);myAudio.play();}, false);
		
		var plumb = document.getElementById('plumb');
			plumb.addEventListener('click', function(){myAudio = new Audio();myAudio.setAttribute('src', plumbUrl);myAudio.play();}, false);
			
		var serge = document.getElementById('serge');
			serge.addEventListener('click', function(){myAudio = new Audio();myAudio.setAttribute('src', sergeUrl);myAudio.play();}, false);
	</script>

В этом случае браузер запускает (создает) дополнительный поток и при этом не закрывает предыдущий - в итоге несколько одновременно звучащих песен. Можно одну и ту же композицию несколько раз запустить ссылка

Поэтому в каждую функцию для запуска песен я добавил:
myAudio.pause();

получилось:
.........
		var small = document.getElementById('small');
			small.addEventListener('click', function(){myAudio.pause();myAudio = new Audio();myAudio.setAttribute('src', smallUrl);myAudio.play();}, false);
.........


Теперь слышно только одну композицию.

Но как оказалось браузер продолжает докачивать все композиции которые были запущены, даже если их прервать запуском новой песни.
Причем это делают все 3 браузера Opera, Chrome и Firefox
Замечу что Opera при обычном изменении src сразу переставала качать предыдущий файл.

Вот ссылка здесь два файла 22мб и 260кб
Ответить с цитированием