SoundManager, загруженный из ajax, воспроизводит ранее выбранную песню - PullRequest
2 голосов
/ 09 января 2012

У меня есть страница, на которой показываются разные музыкальные альбомы, и я запускаю в ней SoundManager. При нажатии на альбом, представление загружается в ajax с некоторыми mp3-ссылками. Это отлично работает, и музыка играет. (Мой сценарий основан на: http://www.schillmania.com/projects/soundmanager2/demo/mp3-player-button/basic.html)

Когда нажимают другой альбом, я звоню

soundManager.stopAll();

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

Я пытался использовать soundManager.unload (); и soundManager.destruct (); без успеха ...

Есть идеи?

Ответы [ 2 ]

1 голос
/ 09 января 2012

Вместо:

var basicMP3Player = null;

soundManager.onready(function() {
  // soundManager.createSound() etc. may now be called
  basicMP3Player = new BasicMP3Player();
});

Я использовал:

if ( typeof basicMP3Player !== "undefined" && basicMP3Player) {
    basicMP3Player.destruct();
} 
else {
    var basicMP3Player = null;
}

soundManager.onready(function() {
  // soundManager.createSound() etc. may now be called
  basicMP3Player = new BasicMP3Player();
});

Проблема в том, что теперь, когда я загружаю другой «вид альбома», конфигурация не загружается должным образом, иАтрибуты playNext или autoPlay не работают ...

0 голосов
/ 29 июля 2015

Ну ... это старое, но у меня была эта проблема, и я нашел ответ здесь

Кажется, вам просто нужно позвонить:

soundManager.reboot();

После успешного вызова ajax.

...