Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 2)

Модерирует : gyra, Maz

Widok (30-01-2009 12:11): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AutoPlay Media Studio часть 2 (часть 1)


Параллельная тема в Варезнике - поиск и обсуждение дополнений и ритейл версий


Где почитать:

Для начала читаем статьи: тут раз или тут раз и два и три
Скриптовый язык LUA (англ) На русском здесь,  еще тут и  тут
Видео-уроки (анг)  
Видео-уроки на YouTube (англ)
Где поживиться:

Видео-уроки (Flash) от производителя (англ)
Тоже официальное видео (англ)
Бесплатные шаблоны (маски) для окон ваших приложений (англ)
"Подарки к Рождеству" на оффсайте (англ)
Плагин LuaCOM (англ)
Примеры для начинающих (англ)
Неплохие примеры, библиотеки (англ)
Еще примеры, один из самых активных юзеров на оффоруме (англ)
Плагины и библиотеки (не все free) (англ)
Еще плагины (англ)
Собрание уроков (иногда с русскими объяснениями)
Где найти ответы на вопросы:

Виды путей, используемых в AMS от GOOSE
Включение\отключение фоновой музыки кнопкой
Вывод HTML отчета с использованием SQLite плагина от IndigoRose
Выделение и копирование в буфер текста\части текста от GOOSE
Для тех, у кого русский проект с "кракозяблами"
Запуск WinRAR'a для распаковки архивов от Reineke
Запуск файлов из Web объекта
Запускаем экзешник по информации из реестра от Lexua
Пример бегущей строки (более красивый способ) от tavria2
Из окна в полноэкранный режим и обратно
Изменяем иконку приложения от Lexua
Изменяем курсор в приложении от GOOSE
Изменяем скроллинг ListBox-у от GOOSE
Используем таймер
Отправка данных из форм по e-mail от GOOSE
Перенос строки во всплывающей подсказке от GOOSE
Альтернативный перенос строки для текста (подходит и для *.ini) от Zloy_Gelud
Показ\скрытие объектов по действиям мыши
Полноэкранный режим для приложения
Последовательный запуск нескольких файлов
Проблема с путями при создании приложения .EXE и ресурсами на CD от Reineke
Проигрвывание MP3 из ListBox-а подряд от UMode
Простой пример бегущей строки от GOOSE
Работаем с запароленными архивами от GOOSE
Работаем с объектом дерева от GOOSE
Ряд вопросов и ответов по созданию меню для DVD от tavria2
Реализация Play-листов для Винампа от BOObastis
Таблица дисков системы от Lexua
Утилита для защиты авторанов
Шапка исправлена. Актуально на 20.08.2008 © NightW0lf

Разработчиков autorun'ов и графических дизайнеров приглашаем посетить проект шаблонов для Autoplay Media Studio:
http://ams-templates.com

 
Список выявленных проблем в AMS 7.0

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 23:07 03-09-2007 | Исправлено: Maz, 12:31 25-09-2017
wilylizard

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые!!!
Прошу не ругать если что....\
я новичек в этой проге, и ни как не могу найти,
можно ли флэш объект сделать кнопкой...?
т.е. нажимая флэшку происходило действие, напр. переход на след. станицу??????
Или хотябы тыкните где искать, перерыл весь форум..........
СПС!!!

Всего записей: 1 | Зарегистр. 05-10-2007 | Отправлено: 16:11 10-10-2007
oumser

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zloy_Gelud
Все получилось спасибо!!! Но есть одно но,всегда загружается одна песня. Я думаю это связано с моим double click-ом в listbox...подскажи что тут надо изменить?
LB = "ListBox1";
-- Get the selected items
tSelected = ListBox.GetSelected(LB);
 
-- Because we are not allowing multiple select in the
-- ListBox object, we are only concerned with tSelected[1]
 
if tSelected then
    -- There is an item selected, get the data!
    sFileName = ListBox.GetItemText(LB, tSelected[1]);
    sFileToOpen = ListBox.GetItemData(LB, tSelected[1]);
    -- Load the audio File    
    Audio.Load(CHANNEL_BACKGROUND, _SourceFolder..INIFile.GetValue("AutoPlay\\Docs\\test.ini", "Playlist", tValueNames[n]), true, false);    
     
    -- Play the audio File  
    Audio.Play(CHANNEL_BACKGROUND);  
       
    
 
else
    -- Display an error message
    -- Dialog.Message("Error", "There is no item selected.");
end
 
И еще звучание плохое до невозможности, жутко хрипит почемуто,ЦП вроде тока на 50%,память конечно сверх идет моих 256ти,но у меня и при 400 нормально играла,что думаешь по этому поводу,взаранее благодарствую

Всего записей: 19 | Зарегистр. 30-09-2007 | Отправлено: 16:55 10-10-2007
vistadimix

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
У меня такой вопрос: есть функция закачки файла с HTTP. А можно ли сделать докачку файла при обрыве связи?

Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 18:45 10-10-2007
Zloy_Gelud



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vistadimix

Цитата:
А можно ли сделать докачку файла при обрыве связи?

увы =(
oumser

Цитата:
подскажи что тут надо изменить?

Здесь пришлось и подумать   .. и вот что получилось..
Global Functions

Код:
nTrack = 1;                                                    -- номер трека
sPath = _SourceFolder.."\\AutoPlay\\Docs\\test2.txt";        -- путь к плэйлисту
bPlay = false;                                                -- флаг по-умолчанию
function GetPlayList(sPath)
    tPlayList = TextFile.ReadToTable(sPath);
        if (Table.Count(tPlayList) == 0) then
            return nil;
        else
            return tPlayList;
        end
end

 
On Preload

Код:
GetPlayList(sPath);                                                                    -- вызов функции
    if (tPlayList) then                                                                -- если получили таблицу файлов
        for n, sPath in tPlayList do                                                -- перебираем в цикле по одному файлу
            tPaths = String.SplitPath(sPath);                                        -- разлагаем путь на составляющие
            ListBox.AddItem("ListBox1", tPaths.Filename..tPaths.Extension, n);        -- добавляем в листбокс имя и расширение файла
                if (bPlay == false) then                                            -- если флаг bPlay установлен в false, т.е. трэк не проигрывается
                    Audio.Load(CHANNEL_BACKGROUND, _SourceFolder..tPlayList[nTrack], true, false);    -- воспроизводим первый трэк (номер трэка см. в Гл. Функциях)
                end                                                                    
        end
    end

On Show

Код:
ListBox.SelectItem("ListBox1", nTrack);    --выделяем текущий трек в листбоксе

On Audio каждой страницы

Код:
if (e_State == "Finish") then                    -- если статус - Конец трека
    if (nTrack == Table.Count(tPlayList)) then     -- если проиграл последний трек в плэйлисте, то
        nTrack = 1;                                -- воспроизводим опять первый трек
    else                                        -- в противном случае
        nTrack = nTrack + 1;                    -- воспроизводим след. трек
    end
    Audio.Load(CHANNEL_BACKGROUND, _SourceFolder..tPlayList[nTrack], true, false);    -- воспроизводим трек
elseif (e_State == "Play") then                    -- если статус - Проигрывание трека
    bPlay = true;                                -- флаг bPlay устанавливаем в true
end

 
P.S.
Файл test.ini был заменен на test2.txt:

Код:
\Autoplay\Audio\1.mp3
\Autoplay\Audio\2.mp3

 
P.P.S.
Дай знать если все будет работать..  
и по поводу хрипения..у меня тож такое бывало с плеером от UMode -> код для устранения этой проблемы привести не могу        
 
Добавлено:
и чуть не забыл..
On Double-Click листбокса

Код:
tSelected = ListBox.GetSelected("ListBox1");                    -- таблица ввыделенных индексов
    if (tSelected) then                                            -- если чтото выделено
        sData = ListBox.GetItemData("ListBox1", tSelected[1]);    -- получаем ItemData выбранного индекса
        nTrack = String.ToNumber(sData);                        -- номер трека
        Audio.Load(CHANNEL_BACKGROUND, _SourceFolder..tPlayList[nTrack], true, false);    -- воспроизводим трек
    end

Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 21:45 10-10-2007
Andrey_Wlodimirovich



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lexua
Все гениальное - просто ) Сенк за совет, получилось имено так как хотелось.

Всего записей: 1773 | Зарегистр. 15-11-2003 | Отправлено: 00:09 11-10-2007
oumser

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zloy_Gelud
УРА!!! Все работаетСпасибо

Всего записей: 19 | Зарегистр. 30-09-2007 | Отправлено: 07:43 11-10-2007
vistadimix

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тогда еще такой вопрос... Можно ли как-то подконектится к ICQ? Сделать чёто наподобии квипа...

Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 11:36 11-10-2007
Drusus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вывожу в ListBox список файлов с нужными расширениями из папки. В свойствах объекта стоит "Sort", судя по хелпу - это сортировка итемов по алфавиту. Но сортировка глючит.
Если файлы в папке пронумерованы, то всё путём, идут по-порядку. Если без нумерации, то идут криво. Сейчас дал на вход папку с таким списком видеоклипов:
 
Bear.mpg
hands.avi
Jeans.avi
Mercedes.mpg
socks.mpg
tiger.avi
Каратэ.AVI
кошки.avi
Отжимание.AVI
Пьяный сверчок.mpg
 
а в ListBox список получился:
 
Bear.mpg
Jeans.avi
Mercedes.mpg
hands.avi
socks.mpg
tiger.avi
Каратэ.AVI
Отжимание.AVI
Пьяный сверчок.mpg
кошки.avi
 
т.е. неправильно отсортированы hands.avi и кошки.avi.
С большим списком файлов вообще каша получается.
В чём причина? Как победить?

Всего записей: 119 | Зарегистр. 03-08-2005 | Отправлено: 12:02 11-10-2007
servint



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
tavria2
 

Цитата:
Что за действие? Манипуляция с окнами? Подробнее...

 
Программа проигрывает маленький плейлист (3 песни). При выполнении кода из onAudio т.е при проигрывании следующей композиции убирается активность с активного окна...
 
 
Добавлено:
Drusus
 
Разные языки, сделай всё на агл. и всё будет ок...

Всего записей: 37 | Зарегистр. 02-04-2007 | Отправлено: 15:12 11-10-2007
Slon_U



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Drusus
Сортировка выполняется правильно. Проверь коды символов - сперва идут "АБВГ....", после "абвг". Поэтому (как вариант) приведи все названия к одному виду (выбирай уж сам) - или все в верхнем регистре, или все в нижнем регистре, или все капиталайзед.

Всего записей: 398 | Зарегистр. 04-10-2003 | Отправлено: 16:53 11-10-2007 | Исправлено: Slon_U, 16:54 11-10-2007
Drusus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Slon_U
Спасиб! Точно, дело было в регистрах. Настолько привык, что Винде регистры безразличны, что об этом даже не подумал.
ALL
При воспроизведении видеофайла в WMP-плагине двойной клик по окну плагина открывает видео на FullScreen. Фактически файл открывается во внешнем WMP, но у которого отсутствуют кнопки кнопки Свернуть-Развернуть-Закрыть. Возврат к окну плагина (не прерывая воспроизведение файла) возможен либо по двойному клику, либо по Alt-F4 (или дублирующего способа, у меня, например, закрытие активного окна настроено на клик колеса мышки). Второй способ выхода часто приводит к глюкам (долго объяснять каким). Как оставить выход из FullScreen только по двойному клику? Предложенная недавна блокировка сочетания Alt-F4 на OnKey страницы здесь не подойдёт.

Всего записей: 119 | Зарегистр. 03-08-2005 | Отправлено: 18:21 11-10-2007 | Исправлено: Drusus, 18:47 11-10-2007
tavria2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
servint
Цитата:
Программа проигрывает маленький плейлист (3 песни). При выполнении кода из onAudio т.е при проигрывании следующей композиции убирается активность с активного окна...  
Вызов события On Audio не может никак повлиять на активность окна, это что-то в самом коде. Выкладывай код или проект, для разбора полетов.

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 21:47 11-10-2007
firstdock

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
что такое "изорхивация"?

извлечение архива

Всего записей: 29 | Зарегистр. 09-10-2007 | Отправлено: 06:37 12-10-2007
Drusus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть готовый плейлист, в котором только имена файлов с расширениями. Папка с элементами плейлиста, соответственно, тоже известна. Нужно загрузить объекты в ListBox. Через команду FileFind всё прекрасно грузится, но это, по-моему, не рационально. Зачем искать, если список известен?
ItemText в листбокс вывожу, а с ItemData не получается. Надо как-то объединить folder и name_table[i]. Попробовал несколько вариантов с точками и кавычками , не выходит. И заодно, как в ItemText расширения не отображать?

Код:
 
folder = _SourceFolder.."\\Autoplay\\Videos";
playlist = folder.. "\\playlist.m3u";
name_table = TextFile.ReadToTable(playlist);
name_count = Table.Count(name_table);
for i = 1, name_count do
 ListBox.AddItem("ListBox1", name_table[i], ......ItemData-???..........);    
end
 

Всего записей: 119 | Зарегистр. 03-08-2005 | Отправлено: 00:31 13-10-2007
tavria2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Drusus
Исправлено
Код:
folder = _SourceFolder.."\\Autoplay\\Videos";  
playlist = folder.. "\\playlist.m3u";  
name_table = TextFile.ReadToTable(playlist);  
for i, file in name_table do  
   ListBox.AddItem("ListBox1", String.SplitPath(file).Filename, folder.."\\"..file);      
end

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 08:11 13-10-2007 | Исправлено: tavria2, 11:04 13-10-2007
Drusus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tavria2
Благодарю за ответ, но в твоём виде не работает. Поначалу ругается, что в строке с листбоксом не хватает запятой, но, по-моему, после .Filename стоит лишняя скобка. Её убрал, теперь ругается на строку с for i, говорит "attempt to call a number value"
 
Заработало в таком виде, но расширения отображаются.

Код:
name_table = TextFile.ReadToTable(playlist);
name_count = Table.Count(name_table);
for i = 1, name_count do
    ListBox.AddItem("ListBox1", name_table[i], folder.."\\"..name_table[i]);    
end

 
String.SplitPath, думаю, не может найти имя файла, ведь команда заточена для выдергивания элементов из полного пути, а не из обрезка: имя + расширение.

Всего записей: 119 | Зарегистр. 03-08-2005 | Отправлено: 09:17 13-10-2007
tavria2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Drusus

Цитата:
но, по-моему, после .Filename стоит лишняя скобка
Да, действительно лишняя.

Цитата:
Её убрал, теперь ругается на строку с for i, говорит "attempt to call a number value"
Я вместо таблицы подсунул кол-во в цикл

Цитата:
String.SplitPath, думаю, не может найти имя файла, ведь команда заточена для выдергивания элементов из полного пути, а не из обрезка: имя + расширение.
Нормально работает с "обрезком".
 
См. выше исправленный код.

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 11:07 13-10-2007 | Исправлено: tavria2, 11:09 13-10-2007
Drusus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tavria2
Большой фенкс! Всё работает, как надо.
 
Добавлено:
tavria2, GOOSE, Zloy_Gelud
Выкладываю свой проект медиапроигрывателя. Как я уже писал, он предназначен для работы с известными списками файлов, информация о воспроизводимом файле берётся из плагина на основании длительности файла. Особенность – полная реализация функций кнопок previous-next.
 
Предварительно надо заготовить 2 файла: плейлист и таймлист (список длительностей). Для их создания написан отдельный проект Play&TimeList Maker.  
 
Прошу посмотреть проект проигрывателя, проанализировать, может, найдёте какие-нибудь ошибки или предложите варианты оптимизации кода. Буду очень признателен.
 
Замеченные и неустранённые проблемы:
- прыгающий список листбокса: если была сделана вертикальная прокрутка и выбран какой-то элемент, то список прыгает вниз;
- глюки с выходом по Alt-F4 из FullScreen (подробно писал выше).
 
MediaPlayerPlugin with All Buttons
Play&TimeList Maker

Всего записей: 119 | Зарегистр. 03-08-2005 | Отправлено: 11:54 13-10-2007 | Исправлено: Drusus, 22:16 13-10-2007
oumser

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ! Подскажите как создать условие if...then, если запускается проект (Page1) выполняется к примеру Page.StartTimer(1),но если мы переходим на эту же станицу с других (Page2,Page3,любая страница), то данная команда Page.StartTimer(1), не выполняется P.S. Вместо Page.StartTimer(1) может быть любой код

Всего записей: 19 | Зарегистр. 30-09-2007 | Отправлено: 14:31 13-10-2007
tavria2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oumser
Цитата:
Подскажите как создать условие,if...then ...

Код:
if (not lStarted) then
    Page.StartTimer(1);
    lStarted = true;
end

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 15:09 13-10-2007
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 2)
Widok (30-01-2009 12:11): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru