Просмотр полной версии : Включение mp3 файлов в флэшку
У меня есть mp3 файлы, которые я проигрываю из флэша. я бы хотел что бы они были внутри swf после сборки. использую Flash CS4.
а в чем проблема? звук импортировать во fla не можете?
Проблема в том что я не знаю что сделать? по этому и спрашиваю совета!
Сейчас подгружаю вот таким способом
new Sound(new URLRequest("/sounds/mySound.mp3"));
но суть не в том как я импортирую, а в том что мне нужно что бы этот саунд (мп3 файл) оказался внутри swf, что бы не тоскать swf и еще пачку файлов.
Хватаем звук и перетаскиваем в окно флеша.
Flash CS4 -> File -> Import -> Import to Library -> указываем путь к нужному мп3 файлу
Flash CS4 -> File -> Import -> Import to Library -> указываем путь к нужному мп3 файлу
спасибо!
Добавлено через 1 час 22 минуты
После импорта mp3 в библиотеку, при сборке начали валиться ошибки вот такого плана
Error #2044: Необработанный IOErrorEvent:. text=Error #2032: Ошибка потока.
at Test()
напомню, что до этого я извлекал звук в коде вот таким образом
new Sound(new URLRequest("/sounds/mySound.mp3"));
Добавлено через 12 часов 52 минуты
не красиво, но UP!
Присоединяюсь к вопросу. Добавил много звуков URLRequest'ом, а теперь вот оказалось, что звук этот в swf не добавляется. Нужели нет другого способа, кроме как добавлять звук в библиотеку (и сооствественно всё заново переделывать:confused:)?
Ну так а прочитать сообщение? Там же написано ошибка ввода вывода. Вы чего-то вводили? - нет, вы встроили звук, значит его не загружать надо, а создать. Точно так же, как и любой другой объект из библиотеки:
var sound:Sound = new MySound();
sound.play();
HotIceCream
10.05.2010, 17:46
А в flash develop тогда как? разве нельзя как нить через [Embed] ?
Именно, через [Embed] это же то же самое, фактически, как во флеше в библиотеку положить.
[Embed(source="sound.mp3")]
public static var sound:Class;
. . .
var s:Sound = new sound();
s.play();
значит его не загружать надо, а создать. Точно так же, как и любой другой объект из библиотеки:
var sound:Sound = new MySound();
sound.play();
Нужно определить для каждого звука свой класс(опираюсь на ваш код)? Предположим у меня в библиотеке 10 звуков, как мне указать какой именно проигрывать?
Да, для каждого звука свой класс. Для простоты их можно назвать идентично и с индексами, а можно ссылки на классы запихать в массив и писать тогда new soundArr[2]()
не могу понять где класс назначается для звука из библиотеки. подскажите плз!
Там же, где и для всего остального.
http://s41.***********/i091/1005/bc/bd4861154a3b.png
Спасибо!
Абсолютно не интуитивно)
HotIceCream
27.05.2010, 00:33
В flash develop :
[Embed(source = 'music.mp3')]
private var BackSound:Class;
private function init(e:Event = null):void
{
var mySound:Sound = new BackSound();
mySound.play();
}
получаю ошибку 4: Error: unsupported sampling rate (32000Hz)
При этом если в flash cs3 'этот же файл импортировать - тогда нормально воспроизводится.
При этом если через конвертер свойства музыки смотреть - то там частота 44100Hz
Bo flash есть полноценный конвертер MP3, а во флексе просто упаковщик. Так что, скорее всего, либо флешем импортируйте, либо ищите другие пути. Флекс это сделать не сможет.
Wins_Vega
25.07.2010, 00:36
Нет ну надо было такой фигни напридумывать! и ведь бестолку не работает ничего! ничего! чтобы заставить етот код работать нужно перетыркать еще кучу сорсов на эту тему и может быть повзет...
Посмотри как работать с SoundAsset!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.