Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.08.2007, 22:18
FMensk вне форума Посмотреть профиль Отправить личное сообщение для FMensk Найти все сообщения от FMensk
  № 1  
Ответить с цитированием
FMensk
 
Аватар для FMensk

Регистрация: Aug 2007
Адрес: \BLR\MENSK
Сообщений: 62
Отправить сообщение для FMensk с помощью ICQ
По умолчанию Буферизация звука

Вопрос первый:
- Можно ли как небудь _soundbuftime = 20 подвязать не к времени а к % загрузки, допустим 10% загрузилось и пошло воспроизведение, ведь у всех разная скорость интернета! кому то и 60 секунд будет мало, а кому и 5 много.

Вопрос второй:
- Можно ли отследить находиться звук в процессе буферизации, или играет, если прошла 10 сек. буферизация звук начал играть (надо отследить что он начал играть), потом звук догнал загрузку и опять остановился буферизироваться (тоже надо отследить), потом опять пошел и т.д.

Спасибо
__________________
ОСТОРОЖНО!!!
Нестандартное мышление

Старый 26.08.2007, 22:58
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 2  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
Вопрос №1:
Код:
_soundbuftime = 20;
var s:Sound = new Sound(this);
s.loadSound("path", true); //true - потоковая загрузка с буферизацией в 20 сек

Старый 26.08.2007, 23:19
FMensk вне форума Посмотреть профиль Отправить личное сообщение для FMensk Найти все сообщения от FMensk
  № 3  
Ответить с цитированием
FMensk
 
Аватар для FMensk

Регистрация: Aug 2007
Адрес: \BLR\MENSK
Сообщений: 62
Отправить сообщение для FMensk с помощью ICQ
Уточнение.
20 сек - это когда в буфере 20 секунд звука загрузилось???
или по прошествии 20 секунд начнется воспроизведение??
-ну вообщем я и сам дагодался.
спасибо что вывели меня из заблуждения.

ВОПРОС №2 в силе!!!
__________________
ОСТОРОЖНО!!!
Нестандартное мышление


Последний раз редактировалось etc; 27.08.2007 в 02:34.
Старый 20.11.2007, 12:32
stutsm вне форума Посмотреть профиль Отправить личное сообщение для stutsm Найти все сообщения от stutsm
  № 4  
Ответить с цитированием
stutsm

Регистрация: Oct 2007
Сообщений: 8
Люди добрые а может подскажите как к этому коду еще прикрутить визуальную полоску на которой будет обозначено сколько чего загрузилось и проигралось? Очень нужно, во Flash профан.

Старый 20.11.2007, 12:52
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 5  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Видимо на вопрос ответ уже найден но…отвечу:
1. Если нужны проценты то можно считывать из тагов длину дорожки и затем высчитать 20 или сколько нужно процентов от общей длины и буфтайм ставить в полученный результат.
2. position за кол-во миллисекунд уже проигранных, можно проверять это значение, если на протяжении нескольких секунд оно не обновлялось значит звук буферезируется.

stutsm, так как в хелпе в коде ошибка выложу сюда, но на будущее стоит заглядывать в него.

Код:
var pb_height:Number = 10;
var pb_width:Number = 100;
var pb:MovieClip = this.createEmptyMovieClip("progressBar_mc", this.getNextHighestDepth());
pb.createEmptyMovieClip("bar_mc", pb.getNextHighestDepth());
pb.createEmptyMovieClip("vBar_mc", pb.getNextHighestDepth());
pb.createEmptyMovieClip("stroke_mc", pb.getNextHighestDepth());
pb.createTextField("pos_txt", pb.getNextHighestDepth(), 0, pb_height, pb_width, 22);

pb._x = 100;
pb._y = 100;

with (pb.bar_mc) {
    beginFill(0x00FF00);
    moveTo(0, 0);
    lineTo(pb_width, 0);
    lineTo(pb_width, pb_height);
    lineTo(0, pb_height);
    lineTo(0, 0);
    endFill();
    _xscale = 0;
}
with (pb.vBar_mc) {
    lineStyle(1, 0x000000);
    moveTo(0, 0);
    lineTo(0, pb_height);
}
with (pb.stroke_mc) {
    lineStyle(3, 0x000000);
    moveTo(0, 0);
    lineTo(pb_width, 0);
    lineTo(pb_width, pb_height);
    lineTo(0, pb_height);
    lineTo(0, 0);
}

var my_interval:Number;
var my_sound:Sound = new Sound();
my_sound.onLoad = function(success:Boolean) {
    if (success) {
    trace("sound loaded");
    }
};
my_sound.onSoundComplete = function() {
    clearInterval(my_interval);
    trace("Cleared interval");
}
my_sound.loadSound("song3.mp3", true);
my_interval = setInterval(updateProgressBar, 100, my_sound);

function updateProgressBar(the_sound:Sound):Void {
    var pos:Number = Math.round(the_sound.position / the_sound.duration * 100);
    pb.bar_mc._xscale = pos;
    pb.vBar_mc._x = pb.bar_mc._width;
    pb.pos_txt.text = pos+"%";
}
__________________
Free-lance | Twitter | Me

Старый 20.11.2007, 12:56
stutsm вне форума Посмотреть профиль Отправить личное сообщение для stutsm Найти все сообщения от stutsm
  № 6  
Ответить с цитированием
stutsm

Регистрация: Oct 2007
Сообщений: 8
Спасибо большое.

Создать новую тему Ответ Часовой пояс GMT +4, время: 04:02.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 04:02.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.