Мне было интересно, может ли кто-нибудь дать мне совет поиграть с середины песни на мобильном телефоне с помощью soundmanager2. Мне нужно, чтобы он работал на Android 4+ и IOS6 и IOS7. У меня есть решение, но это не идеально.Soundmanager2, играя песни с другой точки старта на мобильном телефоне
Я обнаружил, что soundmanager2 имеет неожиданные результаты при воспроизведении музыки с другой начальной точки песни, и поведение зависит от разных устройств.
Я также пробовал то же самое решение с чистым звуком HTML5 с использованием .currentTime, однако у меня есть точно такая же проблема с аудио HTML5, и поскольку soundmanager2 использует html5, у меня есть чувство, что проблема связана.
Мое решение до сих пор:
Я обнаружил, что лучший способ, чтобы убедиться, что песня играет с правильной начальной точкой является изменением позиции после песни начинает играть и не перед тем песня начинает воспроизводиться. Однако нежелательным эффектом этого является то, что песня ненадолго воспроизводится до смены позиции в. Я пытаюсь установить том на 0 и на 100 для «маскировки», но некоторые мобильные устройства игнорируют это. Решение отлично работает на рабочем столе, но это недостаточно.
В SoundManger событие onplay не запускается, когда песня воспроизводится, так как она запускается немедленно, когда я вызываю .play(); , Для этого мне нужно использовать soundManager.onPosition ('scAudio', 500, function ..), и я нашел 500, чтобы быть адекватным, чтобы быть поднятым в большинстве мест. Если я сделаю это меньше, его не поймут в IOS6,
Может ли кто-нибудь помочь с лучшим решением, которое не означает, что песня играет до того, как будет сменена позиция?
Вот мой код до сих пор:
soundManager.setup({
url: '/js/soundmanager2_flash9.swf',
flashVersion: 9,
preferFlash: false,
debugMode: false,
onready: function() {
scAudio = soundManager.createSound({
id: 'scAudio',
url: audioUrl,
autoLoad: true,
volume: 0,
position: startPoint
});
soundManager.onPosition('scAudio', 500, function() {
scAudio.setPosition(startPoint)
soundManager.setVolume('scAudio', 100)
});
}
});
function onThumbnailTouch() {
scAudio.play()
};