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

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

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

Регистрация: Jan 2011
Сообщений: 7
По умолчанию вопрос о file referens

Помогите разобраться, я только начинаю изучать все это дело))
ситуация такая я взял образец простого плеера звука, но он загружал звук только из интернета, а я хочу чтоб можно было открыть какой либо файл из системы, я удалил ссылку и создал новый объект file reference
Код AS3:
var fs:FileReference = new FileReference();
var soundFilter:FileFilter = new FileFilter("Музяка)", "*.mp3;");
fs.browse(new Array(soundFilter));
далее я так понимаю надо чтоб мой файл загрузился в объект sound
Код AS3:
var theSound:Sound = new Sound();
а что дальше написать я не знаю, там было
Код AS3:
theSound.load(\адрес\);
а как сделать так, чтоб звук загрузился из файла??

p.s. а надо обязательно писать
Код AS3:
import flash.media.Sound;
import flash.net.FileReference;
в начале кода?

Старый 31.01.2011, 20:49
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По порядку с конца. Импорты писать обязательно иначе классы будут не зарегистрированы и получшиь ошибку.
Код AS3:
theSound.load(byteArray)
что то типа того.
Идея такая после загрузки файла нужно перевести его в байткод, и читать байткод уже через лоад метод. Яб так делал

Старый 31.01.2011, 21:06
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 3  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Извините. А в AS3 класс FileReference может передать ссылку на выбранный файл? Любопытно, просто в AS2 ведь это невозможно, потому сперва файл на сервер всегда передавали, а потом его назад подгружали во флешку в таких случаях.
__________________
Идите первым!

Старый 31.01.2011, 21:28
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 4  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Код AS3:
theSound.load(byteArray)
что то типа того.
Что-то типа бреда.

Цитата:
FileReference может передать ссылку на выбранный файл?
Можно только напрямую загрузить выбранный пользователем файл как массив байтов.

Что касается звука - пока есть только один способ проигрывать его локально - это на лету собрать swf с зашитым в него mp3-файлом (тем, что выбрал пользователь) и потом оттуда этот звук инстанциировать как наследник класса Sound. Гугл в помошь, сам такую штуку видел
__________________
...вселенская грусть

Старый 31.01.2011, 22:18
Evan33 вне форума Посмотреть профиль Отправить личное сообщение для Evan33 Найти все сообщения от Evan33
  № 5  
Ответить с цитированием
Evan33

Регистрация: Jan 2011
Сообщений: 7
Цитата:
Что касается звука - пока есть только один способ проигрывать его локально - это на лету собрать swf с зашитым в него mp3-файлом (тем, что выбрал пользователь) и потом оттуда этот звук инстанциировать как наследник класса Sound. Гугл в помошь, сам такую штуку видел
Что-то как-то сложно получается...
Ладно, а по какому запросу поискать?

Цитата:
Идея такая после загрузки файла нужно перевести его в байткод, и читать байткод уже через лоад метод. Яб так делал
И как в таком случае перевести в байт код?

Старый 31.01.2011, 22:52
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 6  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
И как в таком случае перевести в байт код?
Через сохранение на сервер

Старый 31.01.2011, 22:59
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 7  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Для начала - у mp3 файла нет байт кода, а есть фреймы. По сему нужно эти фреймы распарсить и перевести в формат несжатого звука (аналог Sound#extract()), что есть равносильно написанию своего кодека. Как это сделать? Либо купить спецификацию формата mp3, либо долго и нудно изучать исходники открытых кодеков Lame (C/C++). Однако, учитывая скорость работы виртуальной машины (AVM2), результат вряд ли Вас удовлетворит.
По этому, как бы странно это ни звучало, самый простой и быстрый способ (это правда почти не заметно по нагрузке) - это приведенный мной выше.

Цитата:
Ладно, а по какому запросу поискать?
Можно поискать по форуму
__________________
...вселенская грусть

Старый 01.02.2011, 00:51
Evan33 вне форума Посмотреть профиль Отправить личное сообщение для Evan33 Найти все сообщения от Evan33
  № 8  
Ответить с цитированием
Evan33

Регистрация: Jan 2011
Сообщений: 7
Цитата:
Через сохранение на сервер
имеется в виду что такой возможности нет...
Цитата:
Можно поискать по форуму
я имел в виду какое ключевое слово я должен задать поисковику

В общем то я решил проблему при том довольно просто
Код AS3:
	fs.browse(new Array(soundFilter));
fs.addEventListener(Event.SELECT, ld);
function ld(evt:Event):void
    {
	trace(fs.name);
	req = new URLRequest(fs.name);
	trace(req.url);
	theSound.load(req);
	}
Таким образом получается что file ref не грузит звук а грузит его сам sound, но появилась одна проблема: чтоб звук был загружен он должен находиться в той-же папке что и флешка, пока мне этого достаточно. Однако если что gloomyBrain вы мне поможете? просто с английским не очень, да и как уже говорил я новичок...

p.s. я закомментировал все import никаких ошибок не было все работало.
и после
Код AS3:
function ld(evt:Event):void
что обозначают эти evt, event, voud (я просто взял их из примера так и не понял что они значат) я так понимаю что второе это описание что за событие третье это идентификатор пустой функции?

Старый 06.02.2011, 18:21
Evan33 вне форума Посмотреть профиль Отправить личное сообщение для Evan33 Найти все сообщения от Evan33
  № 9  
Ответить с цитированием
Evan33

Регистрация: Jan 2011
Сообщений: 7
мда, все уснули)

Старый 06.02.2011, 18:48
tsarapkabel вне форума Посмотреть профиль Отправить личное сообщение для tsarapkabel Найти все сообщения от tsarapkabel
  № 10  
Ответить с цитированием
tsarapkabel
 
Аватар для tsarapkabel

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Это значит что в функцию ld передаётся параметр с именем "evt", тип параметра - Event, void говорит о том, что функция не возвращает никакого значения. Вообще это азы...
__________________
Нормально делай — нормально будет!

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

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

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


 


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


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