Воспроизвести звук один раз во Flash - PullRequest
0 голосов
/ 19 июля 2011

Я создал Flash-сайт, который используется в качестве учебного пособия. Теперь клиент хотел бы добавить голосовые комментарии к разделам. Есть ли способ воспроизвести звук один раз для фрагмента ролика, и если зритель вернется к этому фрагменту, звук не будет воспроизводиться снова? Спасибо.

Ответы [ 3 ]

3 голосов
/ 19 июля 2011

Это должно сработать. Я не тестировал этот код во Flash, но это должно привести вас в правильном направлении.

import flash.net.SharedObject

//Use anything in place of "sounds"
var so:SharedObject = SharedObject.getLocal("sounds");

//Check if the sound has not been played
//Use anything in place of "specificSoundPlayed"
if(so.data.specificSoundPlayed == false)
{
//Play the sound
var snd:Sound = new Sound();
snd.load(new URLRequest("my.mp3"));
snd.play();

//Set the shared object property so we know the sound was played
so.data.specificSoundPlayed = true;
}
1 голос
/ 19 июля 2011

Мне нравится ответ Зачурна. SharedObject является практически единственным способом хранения данных, похожих на файлы cookie, на компьютере. Но я бы посоветовал вам также обязательно добавить необходимое отслеживание ошибок (например, блоки try / catch), потому что некоторые пользователи (включая меня) установили свои настройки Flash Player, чтобы запретить сайтам хранить общие объекты.

Если вы не хотите зависеть от SharedObject, то вам, вероятно, потребуется настроить некоторые вызовы в Flash и из нее для какой-либо другой серверной технологии. Если ваш сайт требует от пользователей входа в систему, возможно, у вас уже есть постоянные данные для пользователей; Вы можете добавить некоторые сервисные вызовы, которые позволяют Flash отправлять и получать данные о том, воспроизводился ли звук.

0 голосов
/ 19 июля 2011

Вы можете установить логический флаг в значение false, когда звук будет воспроизведен один раз.

var flag:Boolean = false;
if(!flag){ 
  flag = true;
  playSound();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...