![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2011
Сообщений: 7
|
Помогите разобраться, я только начинаю изучать все это дело))
ситуация такая я взял образец простого плеера звука, но он загружал звук только из интернета, а я хочу чтоб можно было открыть какой либо файл из системы, я удалил ссылку и создал новый объект file reference var fs:FileReference = new FileReference(); var soundFilter:FileFilter = new FileFilter("Музяка)", "*.mp3;"); fs.browse(new Array(soundFilter)); а что дальше написать я не знаю, там было а как сделать так, чтоб звук загрузился из файла?? p.s. а надо обязательно писать в начале кода? |
|
|||||
|
[+4 06.05.14]
|
По порядку с конца. Импорты писать обязательно иначе классы будут не зарегистрированы и получшиь ошибку.
что то типа того. Идея такая после загрузки файла нужно перевести его в байткод, и читать байткод уже через лоад метод. Яб так делал |
|
|||||
|
Модрон-ветеринар
|
Извините. А в AS3 класс FileReference может передать ссылку на выбранный файл? Любопытно, просто в AS2 ведь это невозможно, потому сперва файл на сервер всегда передавали, а потом его назад подгружали во флешку в таких случаях.
__________________
Идите первым! |
|
|||||
|
Что-то типа бреда.
Цитата:
Что касается звука - пока есть только один способ проигрывать его локально - это на лету собрать swf с зашитым в него mp3-файлом (тем, что выбрал пользователь) и потом оттуда этот звук инстанциировать как наследник класса Sound. Гугл в помошь, сам такую штуку видел
__________________
...вселенская грусть |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 7
|
Цитата:
Ладно, а по какому запросу поискать? Цитата:
|
|
|||||
|
Для начала - у mp3 файла нет байт кода, а есть фреймы. По сему нужно эти фреймы распарсить и перевести в формат несжатого звука (аналог Sound#extract()), что есть равносильно написанию своего кодека. Как это сделать? Либо купить спецификацию формата mp3, либо долго и нудно изучать исходники открытых кодеков Lame (C/C++). Однако, учитывая скорость работы виртуальной машины (AVM2), результат вряд ли Вас удовлетворит.
По этому, как бы странно это ни звучало, самый простой и быстрый способ (это правда почти не заметно по нагрузке) - это приведенный мной выше. Цитата:
__________________
...вселенская грусть |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 7
|
Цитата:
Цитата:
В общем то я решил проблему при том довольно просто 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); } p.s. я закомментировал все import никаких ошибок не было все работало. и после что обозначают эти evt, event, voud (я просто взял их из примера так и не понял что они значат) я так понимаю что второе это описание что за событие третье это идентификатор пустой функции? |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 7
|
мда, все уснули)
|
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Это значит что в функцию ld передаётся параметр с именем "evt", тип параметра - Event, void говорит о том, что функция не возвращает никакого значения. Вообще это азы...
__________________
Нормально делай — нормально будет! |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:19. |
|
|
« Предыдущая тема | Следующая тема » |
|
|