ОсновноеRadiotalkПользовательское
Технологии вещания, софт, скрипты
3   •   Посмотреть все темы

Как включить случайный порядок воспроизвидения??

 

57
Алексей @radioset
Есть Sam Broadcaster, есть в нём шедулер, по времени он добавляет файлы в окно Queue, но!!!
Можно выбирать из папки только один трек в случайном порядке, а нужно чтобы в окно Queue добавлялись все треки из выбранной папки и игрались они все в случайном порядке... вроде бы так легко а бьюсь уже месяц с этой фигнёй... помогите!!!))

6245
Тарас @tarasian666
а если просто выбрать insert all tracks ?

Отредактировано tarasian666 - 25.01.2010
57
Алексей @radioset
Ну тогда он будет добавлять все треки каждый раз в одинаковом порядке и проигрывать не случайно а по алфавиту!!!!(((((((((

6245
Тарас @tarasian666
так задать логику рандум... не помню как именно. надо почитать мануал

Отредактировано tarasian666 - 25.01.2010
6245
Тарас @tarasian666
пробовать или Dir[].QueueDir(smRandom);
а может в шедул добавить Queue.Shuffle;
у меня что то глючит шедул... вобще них не добавляет

Отредактировано tarasian666 - 25.01.2010
57
Алексей @radioset
Ну и вот...... вечно в этом сэме чё то глючит и досих пор нормального русского мануала нигде не видел... а кто что знает тот себе сделал и молчит... мде

57
Алексей @radioset
блин решил проблему идиотским скриптом))
Dir['I:\пробная'].Rescan;
Dir['I:\пробная'].QueueDir(ipBottom);

Queue.Shuffle;
Идиотский, потому что пока у меня идёт сначало вступительный джингл а потом играется всё из одной папки, так вот этот джингл тоже перемешивается случайно)))

Добавлено спустя 3 минуты 35 секунд:
tarasian666 пишет:

пробовать или Dir[].QueueDir(smRandom);

Не помогает))) идёт 1,2,3,4,5,6,......

6245
Тарас @tarasian666
radioset пишет:

Идиотский, потому что пока у меня идёт сначало вступительный джингл а потом играется всё из одной папки, так вот этот джингл тоже перемешивается случайно)))

так сделать сначала рандумный список (Queue.Shuffle;) а потом в топ добавить джингл ( Dir['I:\пробная'].QueueDir(ipBottom); )

Отредактировано tarasian666 - 28.01.2010
57
Алексей @radioset
сделал практически так же)))

Queue.Clear;//очищаем плейлист




Dir['I:\пробная'].Rescan;
Dir['I:\пробная'].QueueDir(ipBottom);

Queue.Shuffle;//перемешиваются треки

Dir['I:\джинглы'].Rescan;
Dir['I:\джинглы'].QueueTop(smRandom, NoRules);//выбераем случайный трек из "путь" и ставим его вверх очереди

Добавлено спустя 3 минуты 3 секунды:
Другая терь проблема)))
Есть скрипт, он накладывает джинглы поверх песни:
var Song : TSongInfo;
var P : TPlayer;

PAL.Loop := True; // скрипт будет выполнятся постоянно
PAL.WaitForPlayCount(3); // ставим задержку на 3 песни

P := SoundFX; // говорим через чего играть
if P <> nil then // если нет проблем то..
begin
Song := CAT['Station IDs (All)'].ChooseSong(1,NoRules); // ..выбераем откудо и что играть
if Song <> nil then // если есть такая песня и всё в порядке то..
begin
P.QueueSong(Song); // ..Ставим ее в очередь на проигрывание
P.Play; // проигрываем
end;
end;


Один тока вопрос, а как сделать чтоб джингл немного приглушал песню когда он запускается а потом песня снова звучала на том же уровне что и была... ??? :)