Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Позиция конца воспроизведения не равна длине звука (http://www.flasher.ru/forum/showthread.php?t=149484)

КорДум 26.01.2011 03:14

Позиция конца воспроизведения не равна длине звука
 
Привет всем! И вот вопрос сразу же. Почему конечная позиция при воспроизведении всегда стремится к длине всей песни, но никогда не равна ей? Почему при окончании песни вот такое:
Код AS3:

var percent:Number = soundChannel.position / sound.length;

Выдает что-то вроде таких цифр: 0.9998598682625064? И никогда не равно 1. Приходится ставить проверку на "> .999", вместо "=== 1"

in4core 26.01.2011 03:42

К сожалению в AS3 такое происходит не только в данном классе, замечано и с альфа такие глюки, да с чем угодно. Используй http://help.adobe.com/en_US/FlashPla...#toFixed%28%29

КорДум 26.01.2011 04:19

Эм, это аналог вот такого, что ли:
Код AS3:

String(int(numb * 1000 + .5) / 1000)

? Зачем-то еще в строку переделывает.

andrew911 26.01.2011 04:25

Цитата:

Сообщение от in4core (Сообщение 967959)
К сожалению в AS3 такое происходит не только в данном классе, замечано и с альфа такие глюки, да с чем угодно. Используй http://help.adobe.com/en_US/FlashPla...#toFixed%28%29

В данном случае это баги работы флеша со звуком
http://stackoverflow.com/questions/2...actionscript-3
http://www.stevensacks.net/2008/08/0...-than-128kbps/

КорДум 26.01.2011 14:16

Баг, значит. Я так и подумал. Ну, либо будем округлять, думаю, если песня не проиграет сколько-то сотых процента, это будет не критично. Если песня не длиной в час-два.

mikhailk 26.01.2011 14:55

Цитата:

Приходится ставить проверку на "> .999", вместо "=== 1"
я, честно говоря, все-таки на события ориентируюсь
а soundChannel.position - только для показа ползунка

КорДум 26.01.2011 15:05

mikhailk, вот мой промах. Я совершенно забыл, что у SoundChannel есть событие окончания воспроизведения.


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

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