Просмотр полной версии : Вопрос по Sound
var snd:Sound = new Sound(_root.clip) - что означает запись в скобках (_root.clip), я так понял что для _root.clip создается экземпляр объекта Sound. только trace(_root.clip.snd) - выдает undefined, зато trace(snd) - прекрасно работает. как мне обратиться к нему из другого клипа?
Для оформления своего кода, надо использовать теги .
Вместо
var snd:Sound
написать
snd
А потом обращаться к клипу в котором написан данный код + .snd
вобщем проблема такая.
создаю в клипе sound, затем при переходе в другой разде этот клип удаляется, на его месте появляется другой. а музыка продолжает играть.
хотя к этому клипу, куда загрузил музыку, обратиться уже не могу.
решил проблему с помощью _global.mus=new Sound()
еще такой вопросик: кроме Sound какой объект может загрузить mp3?
1. А разве snd.stop() не помогал?
2. Чем вам тут Sound не угодил, прекрасно загружает...
От того, что звукооператора шлепнули, звук играть не перестанет.
Прежде чем шлепнуть его, попросите выключить звук, как советует CorC.
вот еще такой вопросик по Sound
обработчик onID3 .. в хелпе нашел - одно из его свойств - TIME
но
mus.onID3=function(){
trace(mus.id3.TIME)
}
ничего не возвращает.. может не правильно обращаюсь?
или есть кое какие нюансы?
И что делает этот код? Где Вы хотите увидеть этот TIME?
mus.onID3=function(){
trace(mus.id3[TIME])
}
----------------------
/// у автора изначально не было трейса, потому и вопрос.
да собсно хочу узнать длительность файла не загружая этот файдл полность.
1.. mus.id3.TIME - в хелпе именно так написано.
2 .. не работают никакие варианты: ни твой, ни этот. может файл надо грузить с определенными настройками. или этот пункт в самом файле не прописан ... но грузил разные mp3, не один не читается
это все параметры которые содержит mus.id3, когда я его загружаю
TPE1
TOPE
TCON
TYER
TIT2
TENC
WXXX
COMM
genre
comment
year
album
artist
songname
тобишь TIME там и не пахнет, хотя при написании данного кода во флеше он опознается как одно из свойств(выделяется синим цветом), правда в выпадающем окошке с перечнем свойств объекта его нет..
я просто в замешательстве.. собсно только три догадки..
1 при создании mp3 , TIME - одно из необязательных свойств
2 к нему надо по другому обращаться или по другому создавать объект
3 разработчики хотели сделать читаемым это свойство, но руки не дошли)))
А с чего вы решили, что тег id3.TIME в файле указан?
От того, что звукооператора шлепнули, звук играть не перестанет.
Прежде чем шлепнуть его, попросите выключить звук, как советует CorC.
snd=new Sound()
btn.onPress=function()
{
delete snd
}
snd.loadSound("1.mp3",true)
- перестает играть - походу не туда обращался
1. А разве snd.stop() не помогал?
2. Чем вам тут Sound не угодил, прекрасно загружает...
1. с этим еще не разобрался, но при вызове snd.stop(), а потом при загрузке следующего файла, музыка играла сначала зато бегунок плеера оставался на том же месте где вызвал snd.stop() и двигался с той же позиции. При удалении snd и создании его по новой для загрузки другого файла такая проблема исчезла.
2. да вобще создается впечатление что Sound - полуфабрикат.Естесственно в руках мастера, все будет достойным инструментом, только иногда приходится сильно изощряться чтобы решить какую нибудь прстейшую задачу(не только про Sound )
А с чего вы решили, что тег id3.TIME в файле указан?
1 для чего-то его описание в хелпе было
The following table lists the standard ID3 2.0 tags and the type of content the tags represent; you query them in the format my_sound.id3.COMM, my_sound.id3.TIME, and so on. MP3 files can contain tags other than those in this table; Sound.id3 provides access to those tags as well.
2. просто в винде при наведении на файл появляется коммент (с таким бледно жетым фоном) и в нем информация схожего содержания с id3(кстати длительность трека там указана), мне почему то кажется что, и flash, и винда читают эту информацию из одного источника. Собственно к сути. Как узнать длительность музыки без ее полной загрузки?
IsupovS, для оформления своего кода, надо использовать теги .
А с чего вы решили, что тег id3.TIME в файле указан?
1 для чего-то его описание в хелпе было
Я спрошу еще раз. А с чего вы решили, что тег id3.TIME в файле указан?
я не доказываю вам что он там указан, а лишь поделился своими догадками.
почитав хелп я обнаружил там строки с помощью которых я думал, что смогу узнать то что меня интересуе(а точнее длительность файла).. особенно меня заитересовали следующие свойствва.
TIME - Time
TLEN - Length
свойства объекта id3, но у меня не получилось, поэтому ищу помощи по данному вопросу. Для меня не существенно каким способом это можно узнать, только естесственно без полной загрузки файла.
screamge
21.10.2007, 07:14
Если в самом файле отсутвуют эти тэги то ничего узнать через флеш вы не сможете, а посмотреть есть ли они или их нет можно через WinAmp нажав Alt + 3.
в id3 длительности вообще не предусмотрено разве что в mpeg info.(в winamp)
тогда(ну это уже просто навязчивая идея:eek: ) что значат все-таки свойства TLEN и TIME, и что с помощю них можно узнать? если их как-то назначить, то как(или с помощь чего)?
во! пока не забыл.. что все-таки значит надпись в скобках, то есть какое ее предназначение?
var snd:Sound=new Sound(clip)
screamge
21.10.2007, 08:11
Надпись в скобках значит что объект саунд будет создан в этом клипе.
Что значит каждый id3 таг написанно в хелпе.
id3 (Sound.id3 property)
Надпись в скобках значит что объект саунд будет создан в этом клипе.
Что значит каждый id3 таг написанно в хелпе.
id3 (Sound.id3 property)
хелп я и сам в состоянии прочитать.
только вопрос был о другом - есть ли способ назначить данные свойства?
в следующем коде оба экземпляра должны создаться в clip
var snd:Sound=new Sound(clip)
clip.snd1=new Sound()
for (i in _root){
trace("root : "+i)
}
for(i in clip){
trace("clip : "+i)
}
а далее то что я получил
root : snd
root : $version
root : clip
clip : snd1
я думаю тебе и самому понятно где были созданы экземпляры, мне было бы интересно узнать почему данный синтаксис описан в хелпе и в разных книгах но на практике он не работает.
Вы хелп плохо читали.
var snd:Sound=new Sound(clip)
не создает в clip звук snd. Просто изменения, скажем громкости, будут касатся только относительно clip, а не глобально.
насчет этого в хелпе информации оч мало. но уже нашел в другом месте
последний вопрос: что нужно сделать чтобы длительность файла можно было узнать до его полной загрузки!
Узнать длительность звука заранее и указать в плейлисте.
Или загнать в id3, грузить потоком и по событию onID3 посмотреть.
По поводу ИД3 тегов: чтобы узнать есть ли они вообще в загруженой МП3шке - открываем ее хекс-едитором (их есть куча бесплатных), смотрим, чего там вначале записано (ИД3 теги - обычный текст). Нет никаких конвенций обязывающих заполнять или вообще создавать эти самые теги, так что возможен вариант, что трейс этого тэга выведет undefined или что-нибудь не соответствующее действительности. Есть смысл этим пользоваться, только если вы сами же эти МП3 и создавали, и знаете наверняка, чего стоит ожидать в соответствующих тегах.
screamge
22.10.2007, 00:01
Есть смысл этим пользоваться, только если вы сами же эти МП3 и создавали, и знаете наверняка, чего стоит ожидать в соответствующих тегах.
Да даже если их нет всегда можно их добавить.
Автор, длину мп3 до его полной загрузки можно узнать через id3 тэги что и написанно в хэлпе.
Да в том-то и дело, что нельзя добавить. Как вы себе представляете руками взять и поменять - у пятиминутной песни поставить время 3:17. Ни одна программа Вам такого не позволит. Время наверняка записано гдето, откуда-то же оно читается и виндой и прогами. Но только не там, где хочет флэш. И фишка в том, что это вовсе НЕ ТЕГ. Не может время быть тегом, это не полезная информация, а свойство медиафайла. Теги - это то, чего может не быть. Длительность у мп3 есть ВСЕГДА, независимо от того, вбивал ктото теги или нет. Так что хранится она в другом месте и тут разрабы попали пальцем в небо, вот и всё. И хватит ходить кругами, с мудрым видом отсылая в хелп. Если хочется доказать обратное - покажите хоть один файл мп3, из кторого флэш считает id3.TIME
Заранее жму руку этому герою.
И хватит ходить кругами, с мудрым видом отсылая в хелп. Если хочется доказать обратное - покажите хоть один файл мп3, из кторого флэш считает id3.TIME
Заранее жму руку этому герою.
что и требовалось доказать. ))))
Тэг и есть тег, формат позволяет добавить любой тэг с любым содержанием (вроде бы). Но это все как-то некрасиво, а передать длительность песни в плейлисте - что может быть естественней?
Прямо из того же винампа генерате html playlist - и у вас все имена файлов с длительностью.
screamge
22.10.2007, 04:35
С мудрым видом отсылаю в хелп чтобы TIME и TLEN не путали :taunt:
Пример (http://screamge.com/files/mp3tags_example.rar)специально для Wolsh.
http://www.id3.org/id3v2.4.0-frames
После загрузки файла «достучаться» до его продолжительности можно через duration, «винда и проги» скорее всего так и поступают.
>> Пример специально для Wolsh.
Это для Вас, screamge, пример того, что тайм не читается.
А для IsupovS пример того, что можно из тлена достать дюрейшн.
Вроде в мсек, только винда показывает 00:00:03 а флэш 3500
screamge
22.10.2007, 11:48
На тему TIME никто кроме вас двоих и не заикался, разве что iNils сказал что его может и не быть. Впрочем вы главную фишку не просекли, я могу добавлять любой таг ручками, хотите таг Wolsh добавлю.
Ваш совет скорее всего совершенно бесполезен так как тэг TLEN тоже отсутствует в mp3. А теперь пересмотрите все посты и скажите кто ходит кругами и кто тычет пальцем в небо.
Ну наконец-то. Я, признаться, думал Вы так и будете упорствовать в своих заблуждениях.
И еще - автор вопроса не заикается, он спрашивает. Проявляйте уважение.
Длительность у мп3 есть ВСЕГДА, независимо от того, вбивал ктото теги или нет. Так что хранится она в другом месте
А как быть со стрим звуком? duration будет скачанная длительность.
Кроме того, сервер может вещать круглыми сутками, тупо склеивая песни.
> Kikasso
Да я вроде ничего не предлагаю, мне нечего предложить.
Предлагает screamge, в частности duration. А я только попытался расставить точки над ё в плане тегов и хелпа. Извините, если кто то воспринял как личный наезд.
Я лично считаю что проблему автора надо решать созданием и парсингом плейлиста. Это оптимально по скорости и точности. А с тегами и т.д. всеравно надо сначала хотябы начать закачивать песню, а это время и трафик. Бессмысленные совершенно. Если есть список, по которому закачиваются песни, значит в нем может быть записано и время каждого трека. Имхо, это наилучший вариант, может, не для любых условий.
screamge
22.10.2007, 13:27
Гы-гы-гы.
Wolsh, покажите мне строчку где написанно «я предлагаю использовать duration вместо id3 tags».
Я ещё раз повторюсь, в id3 tags может быть занесена _любая_ информация.
TIME не используется только потому что оно не для этого созданно, для длительности mp3 (как таг) дорожки существует TLEN, если интересны подробности то посмотрите описание линк который из моего предыдущего поста. Если не поленитесь и посмотрите описание формата mp3 то там весьма доходчиво написанно куда записывается инфа о длине файла. Wolsh, есть ещё вопросы? С радостью отвечу только не приписывайте мне того чего я не говорил.
Единственое моё упоминание duretion это только в том контексте что получить его можно только после полной загрузки файла.
Я лично считаю что проблему автора надо решать созданием и парсингом плейлиста.
Это не ваше личное мнение, а лишь ссылка на мнение Kikasso.
Извините, если кто то воспринял как личный наезд.
Ну-ну. Как наедите так и съедите :D
Кто упорствует в своих заблуждениях каждый прочитавший эту ветку убедился.
В чём заключается растоновка точек над «ё» честно говоря не понял и что кроется в фразе «Ну наконец-то» — тоже. Считаете что кому-то что-то растолковали? Ну-ну. :)
Да нет,я порадовался что Вы перестали тыкать в хелп, где написано как получить время из тегов и признали что все это не работает.
Собственно, с этим заявлением я и залез в обсуждение.
Моё личное мнение частенько совпадает с мнением Kikasso, не переставая при этом быть моим мнением :) Мнение, знаете ли, МОЖЕТ быть не одно, единственно верное и ваше ))).
Насчет постоянного аппелирования к прочитавшим эту ветку - вы их по аське чтоли опрашиваете? Это уже не смешно. Постоянный хамский тон, ни одного примера или доказательства меня утомили. Начинается флуд - флудите без меня. Удачи.
Впрочем, есть практический вопрос - Вы обещали вставить тег Wolsh (хамство конечно, но тонкое) - расскажите, как это можно сделать. Хоть чтото полезное вынести из этого спора.
Эй, полегче, горячие финские парни.
Процитирую известную фразу, "по любому поводу мнений может быть только 2, одно - мое, второе - не правильное" =)
Да чего вы прицепились к этим тегам, посмотрите спецификацию МП3 формата, он просто позволяет между обязательным хидером файла и содержательной частью помещать птоизвольную информацию в виде пар имя=значение. И все. Случаи, когда реально время прописаное в тагах не совпадает с реальным временем плейбека - да сколько угодно. Любой сайт продающий аудио-эффекты ставит вотермарки на мп3шки, которые продает, в том числе например, меняет время плейбека. Так что то, что они там напишут в тегах никакого отношения к реальности иметь не будет.
А я обосную свое мнение. Плейлист - вот он, на ладони, все записано. И длина песни доступна ДО загрузки файла.
А в этот mp3 еще залезть надо, причем в каждый.
Ну как это еще объяснить. Вот, работаю я для сайта, который продает аудиоэффекты. Самый банальный пример: приходите вы на сайт, хотите скачать маленький кусочек из "Лунной сонаты". Все замечательно, вы ее скачали, винамп\винмедиа вам ее воспроизведут и покажут все, что там в тэгах написано, как только вы попытаетесь ваш МП3 (скачаный и неоплаченый) загрузить во флеш - получите звук сливающейся в унитазе воды =) (но в тэгах это по прежнему будет "Лунная соната" - иногда ей богу, жалко композитора =)
Для этого достаточно с битрейтом поиграться ))
А я обосную свое мнение. Плейлист - вот он, на ладони, все записано. И длина песни доступна ДО загрузки файла.
А в этот mp3 еще залезть надо, причем в каждый.
Она достоверно известна _только_ если вы ее сами туда записали.
ЗЫ. за символическую плату впишу произвольный текст в тег TIME в предоставленном заказчиком МП3!
ребята извините что вмешиваюсь в вашу дискуссию, но в данном случае , по-моему уже не имеет значения откуда берутся эти данные, если эти параметры не являются обязательными, с таким же успехом их можно вписать в xml, ведь заказчику абсолютно всеравно как вы это реализуете. а тк нет никакого универсального метода и в любом случае придется вбивать это своими руками то скорее лучше это все поместить в хмл..
потому я спрашивал про другой способ загрузки звука,вроде NetStream который по событию onMetaData выдает реальные параметры видео.
Другого способа загрузки звука вроде бы нет.
Если вы сперва грузите звук, а потом даете команду играть, то у звука будет duration.
Если грузите потоком - придется повозится, длительность звука можно только оценить - duration показывает скачанную длятельность, getBytesLoaded() скачанный размер, getBytesTotal() размер файла.
разделить, умножить и получим примерное время композиции. А по полной загрузке точное.
2Wolsh: запихать в mp3 можно то угодно, вот хотя бы с помощью php http://www.toprunet.com/article.php?id=2346
upd: а вот прочитать флешом "что угодно" не получилось. Я добавил с помощью "foobar2000" tag1 и tag2, а флеш показал только последний, как TXXX, но содержание показал правильно. Темный лес эти теги.
2wxvxw: плачу рубль вебманями, если впишете тег в mp3 - но чтобы флеш показал и название тэга и его содержимое.
Тег любой, допустим тот же TIME
upd: TIME я вписал ))
Если грузите потоком - придется повозится, длительность звука можно только оценить - duration показывает скачанную длятельность, getBytesLoaded() скачанный размер, getBytesTotal() размер файла.
разделить, умножить и получим примерное время композиции. А по полной загрузке точное. - похоже единственный способ узнать хотя бы приблизительную длительность музыки до ее полной загрузки, а теперь представьте как будет тормозить флеш если в плейлисте мелодий 15, а скорость инета маленькая.
Я предлагал изначально в плейлисте написать длительность и размер файла. Аж на 2-й странице.
2wxvxw: плачу рубль вебманями, если впишете тег в mp3 - но чтобы флеш показал и название тэга и его содержимое.
Тег любой, допустим тот же TIME
Все еще актуально? Просто не могу короткую МП3шку найти, чтобы залить куда-нть =)
Я фз, пользуюсь free heх editor'ом
Все еще актуально? Просто не могу короткую МП3шку найти, чтобы залить куда-нть =)
Я фз, пользуюсь free heх editor'ом
Нее, я уже попробовал. Качнул себе foobar2000 и Mp3tag ( оба freeware), и поэкспериментировал. Таг TIME описан в формате id3v2, и с ним проблем нет, произвольных тагов добавить можно сколько угодно, но флеш прочитает только один из них, причем покажет что это таг TXXX. Винамп вообще не видит.
А после хекс-редактирования у меня получился mp3, из которого флеш читает теги а сладкая парочка - нет, но удалить могут. Видимо неаккуратно редактировал.
И вообще с этими тегами полный бардак и обратная несовместимость версий.
Сладкая парочка читает только предопределенные теги... а флеш это воспринимает, как лоадварз или что-то похожее.
screamge
24.10.2007, 12:12
Написал AIR приложение, оно считываете длину mp3 файлов из указаной папки, а затем по вашей просьбе записывет полученную информацию в comment таг. Соответственно, достучаться до длины файла до его загрузки можно будет так:
var snd:Sound = new Sound ();
snd.onID3 = function (){
trace (snd.id3.comment);
}
snd.loadSound('03.mp3');
Скачать можно отсюда. (http://screamge.com/files/tagwriter.rar).
P.S. Автор, Wolsh…удачи :bye:
Сладкая парочка читает только предопределенные теги... а флеш это воспринимает, как лоадварз или что-то похожее. Нет, можно добавить произвольный тэг, то что добавлено с помощью foobar2000 видит Mp3tag и наоборот, но в хексе видно, что перед такими тэгами стоит маркер TXXX, то есть перед каждым. Далее понятно.
screamge
24.10.2007, 12:43
А да, чуть не забыл. Ещё один тагер для mp3.
http://www.jthink.net/jaikoz/jsp/overview/startup.jsp
Версия Mp3tag которая у меня установлена к сожалению TLEN именно так как сказал Kikasso и выставляет, точнее флеш её воспринимает как TXXX.
Я TLEN и TIME проставил в UltraEdit'е. ))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.