Привет, Гость ( Вход | Регистрация )


Reply to this topicStart new topicStart Poll
anton
post Пятница, 29 Июня 2001, 23:13
Сообщение #1


Гигант Номер Раз
********

Группа: Ветеран Team RDA
Сообщений: 4349
Регистрация: 18 Янв '01
Откуда: Америка, Россия



2 Юзер   Цитировать


privet vsem ,

koroche seichas ya ispol'zuu WinDVD dlya proigrovaniya VCD, no vot takaya ne zadacha poluchaetsya, on pochemu to mnogie moi VCD ne chochet igrat' ,tak vot sam vopros, kakoi eshe est' choroshiy, ne bol'shoi , player, kotoriy proigroval VCD automatom , nu ili cherez commandnuu stroku "player d:\" tipa tak ... ?

spasibo ...

------------------
ICQ# 20553228

RDA Chat : irc.othersideirc.net
channel #RDA
OR
http://www.antonr.com/rda/jpilot
Everybody is welcome :)

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=aCXRo=-
post Пятница, 29 Июня 2001, 23:31
Сообщение #2


Опытный кинолюбитель
***

Группа: Мемберы
Сообщений: 271
Регистрация: 03 Апр '01



2 Юзер   Цитировать


2 anton: ne chitaet VCDshki s Dat failom kotorij previshaet razmer balvanki da?
esli da u menja ta zhe problema
vobshe ja svoi VCDshki s media playerom igraju..prosto Dat fail ukazivaju i on playit...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
anton
post Суббота, 30 Июня 2001, 0:41
Сообщение #3


Гигант Номер Раз
********

Группа: Ветеран Team RDA
Сообщений: 4349
Регистрация: 18 Янв '01
Откуда: Америка, Россия



2 Юзер   Цитировать


aCXRo : mozhet i iz-za etogo, ne vdaval'sya v podrobnosti kak to ... da ya s sasami2k ich igrau , no delo v tom, chto mne nuzhen player kotoriy igral bi , esli bi ya megu ukazal prosto kakoi drive igrat', a ne celiy put' k dat file'u...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Dangeros
post Суббота, 30 Июня 2001, 0:51
Сообщение #4


Начинающий кинолюбитель
**

Группа: Мемберы
Сообщений: 189
Регистрация: 10 Мая '01
Откуда: Latvia



2 Юзер   Цитировать


WMP-lucij player na svete -igraet vse i kogda tolko zahocesh.Spasibo Billu!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
HPV
post Суббота, 30 Июня 2001, 0:16
Сообщение #5


Начинающий кинолюбитель
**

Группа: Мемберы
Сообщений: 53
Регистрация: 30 Дек '05



2 Юзер   Цитировать


WMP - самый тормозный player, который мне встречался
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
anton
post Суббота, 30 Июня 2001, 0:04
Сообщение #6


Гигант Номер Раз
********

Группа: Ветеран Team RDA
Сообщений: 4349
Регистрация: 18 Янв '01
Откуда: Америка, Россия



2 Юзер   Цитировать


nu WMP tak sebe, na low end ... tol'ko kak back-up playes mozhno ispol'zovat'
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Dangeros
post Суббота, 30 Июня 2001, 0:24
Сообщение #7


Начинающий кинолюбитель
**

Группа: Мемберы
Сообщений: 189
Регистрация: 10 Мая '01
Откуда: Latvia



2 Юзер   Цитировать


WPM(starij- samij bereznij k sistemnim resursam. To cto kacetsvo proigrovanija u nego nize-eto sovsem drugoi vopros.Kazetsta, cto vi ni ucenj to ponjaLI NAMEK K BILLU
Nu kanecno anton -ja toze ego ispolzuju kak pleayr takim ze obrazom-no on deistvitelno umeet otkrivatj sve formati esli konecno prisutstuet codeci i nikogda niglucit.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
mik
post Суббота, 30 Июня 2001, 0:00
Сообщение #8


Завсегдатай
****

Группа: Мемберы
Сообщений: 841
Регистрация: 24 Ноя '06



2 Юзер   Цитировать


anton, на крайний случай можно написать хоть bat файл, типа:

code:

rem **** playvcd.bat

if exist %1\mpegav\avseq01.dat Goto PlayVCD

rem (play non-vcd command line here)
goto End

:PlayVCD
"C:\Program Files\Windows Media Player\mplayer2.exe" %1\mpegav\avseq01.dat

:End


и запускать его с параметром: playvcd d:

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
anton
post Суббота, 30 Июня 2001, 19:12
Сообщение #9


Гигант Номер Раз
********

Группа: Ветеран Team RDA
Сообщений: 4349
Регистрация: 18 Янв '01
Откуда: Америка, Россия



2 Юзер   Цитировать


mik:

da ya itak eto bi cherez programmu delal bi, no problema v tom , chto inogda vo pervich tam mozhet bit' neskol'ko AVSEQ0*.dat , vo vtorich inogda tam voobshe drugoe imya tipa MUSIC01.DAT ...

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
mik
post Понедельник, 02 Июля 2001, 0:34
Сообщение #10


Завсегдатай
****

Группа: Мемберы
Сообщений: 841
Регистрация: 24 Ноя '06



2 Юзер   Цитировать


В принципе это тоже поправимо. Можно использовать факт, что все они имеют расширение .dat и лежат в папке mpegav. Надо динамически построить списочек и запускать по очереди. Если хочешь, у меня есть образец кода для C++ Builder.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
anton
post Понедельник, 02 Июля 2001, 0:44
Сообщение #11


Гигант Номер Раз
********

Группа: Ветеран Team RDA
Сообщений: 4349
Регистрация: 18 Янв '01
Откуда: Америка, Россия



2 Юзер   Цитировать


mik , davai , budem ochen' blagodarni , kak raz na etom i pishem
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
mik
post Понедельник, 02 Июля 2001, 16:09
Сообщение #12


Завсегдатай
****

Группа: Мемберы
Сообщений: 841
Регистрация: 24 Ноя '06



2 Юзер   Цитировать


code:

void __fastcall PlayDat(AnsiString DriveLetter)
{
// DriveLetter is a letter assigned to CD drive
AnsiString mask = DriveLetter + ":\\Mpegav\\*.dat";
TSearchRec sr;
TStringList *dat_list = new TStringList();

try
{
if (FindFirst(mask, faAnyFile, sr) == 0)
{
dat_list->Add(DriveLetter + ":\\Mpegav\\" + sr.Name);

while (FindNext(sr) == 0)
dat_list->Add(DriveLetter + ":\\Mpegav\\" + sr.Name);

FindClose(sr);

// all .dat files are in the dat_list now
// you may launch player with WinExec, ShellExecute or CreateProcess API functions
// see notes below for further considerations
}

}
__finally
{
delete dat_list;
}
}

//---------------------------------------------------------------------------

/*

Notes
=====
Если .dat файл только один, то все просто, запусти player и забудь:

ShellExecute(NULL,
"open",
"C:\\Program Files\\Windows Media Player\\mplayer2.exe",
dat_list->Strings[0].c_str(),
"",
SW_SHOWDEFAULT);


Если файлов несколько, ситуация немного сложнее, перед тем, как запускать очередной, надо подождать, пока не закончится предыдущий.
Для этого можно использовать API CreateProcess():

for (int i = 0; i < dat_list->Count; i++)
{
STARTUPINFO StartupInfo;
ZeroMemory(&StartupInfo, sizeof(STARTUPINFO));
StartupInfo.cb = sizeof(STARTUPINFO);

PROCESS_INFORMATION ProcessInfo;

AnsiString mplayer = "C:\\Program Files\\Windows Media Player\\mplayer2.exe " + dat_list->Strings[i];

if(CreateProcess(NULL,
mplayer.c_str(),
NULL,
NULL,
TRUE,
NORMAL_PRIORITY_CLASS,
NULL,
NULL,
&StartupInfo,
&ProcessInfo))
{
DWORD dwExitStatus = STILL_ACTIVE;

// loop until media player closes
do
{
if (!GetExitCodeProcess(ProcessInfo.hProcess, &dwExitStatus))
break;
Application->ProcessMessages();
} while (dwExitStatus == STILL_ACTIVE);

// close handles
CloseHandle(ProcessInfo.hProcess);
CloseHandle(ProcessInfo.hThread);
}
}

Однако этот путь не очень хорош, поскольку каждый раз надо ждать, пока юзер закроет media player.
Поэтому проще создать временный плейлист и использовать его:

char TempDir[MAX_PATH + 1];
TempDir[MAX_PATH] = '\0';
GetTempPath(MAX_PATH, TempDir); //GetTempPath() API function returns Windows temp dir with final backslash already appended

dat_list->SaveToFile(AnsiString(TempDir) + "temp.m3u");

ShellExecute(NULL,
"open",
"C:\\Program Files\\Windows Media Player\\mplayer2.exe",
(AnsiString(TempDir) + "temp.m3u").c_str(),
"",
SW_SHOWDEFAULT);

*/


User is offlineProfile CardPM
Go to the top of the page
+Quote Post
anton
post Понедельник, 02 Июля 2001, 16:44
Сообщение #13


Гигант Номер Раз
********

Группа: Ветеран Team RDA
Сообщений: 4349
Регистрация: 18 Янв '01
Откуда: Америка, Россия



2 Юзер   Цитировать


spasibo bol'shoe , posmotrim


slushai , a mozhet ti eshe znaesh kak schvatit' event kogda cd vstavlyaetsya ?

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Earl Aries
post Понедельник, 02 Июля 2001, 17:03
Сообщение #14


Unregistered








2 Юзер   Цитировать


XING
Go to the top of the page
+Quote Post
anton
post Понедельник, 02 Июля 2001, 17:09
Сообщение #15


Гигант Номер Раз
********

Группа: Ветеран Team RDA
Сообщений: 4349
Регистрация: 18 Янв '01
Откуда: Америка, Россия



2 Юзер   Цитировать


ne, mne nuzhno zapuskat' svou progu kogda ya vstavlyau v CD-Rom Data/Video/DVD/Audio/MP3 CD ... dlya kazhdogo type'a raznuu progu ... mozhet kto znaet o takoi utiliti
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
mik
post Понедельник, 02 Июля 2001, 18:42
Сообщение #16


Завсегдатай
****

Группа: Мемберы
Сообщений: 841
Регистрация: 24 Ноя '06



2 Юзер   Цитировать


quote:
Originally posted by anton:
slushai , a mozhet ti eshe znaesh kak schvatit' event kogda cd vstavlyaetsya ?

Это пока не приходилось. Надо покопаться в доках микрософта.

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
mik
post Вторник, 03 Июля 2001, 0:46
Сообщение #17


Завсегдатай
****

Группа: Мемберы
Сообщений: 841
Регистрация: 24 Ноя '06



2 Юзер   Цитировать


anton, вот что обнаружилось.
Надо ловить WM_DEVICECHANGE. Если у него wParam == DBT_DEVICEARRIVAL, то lParam указывает на структуру DEV_BROADCAST_HDR, откуда все можно об устройстве узнать - размер, логическое имя диска и пр. Таким же образом можно отловить и удаление CD.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
b-x
post Вторник, 03 Июля 2001, 15:44
Сообщение #18


Видеоман
*****

Группа: Мемберы
Сообщений: 1961
Регистрация: 27 Мар '01
Откуда: USA



2 Юзер   Цитировать


anton, посмотри еще сюда:
http://www.geocities.com/SiliconValley/Software/3691/DivxOS/

и сюда:
http://www.media-box.org/ .

Может быть, пригодится...

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
anton
post Вторник, 03 Июля 2001, 21:35
Сообщение #19


Гигант Номер Раз
********

Группа: Ветеран Team RDA
Сообщений: 4349
Регистрация: 18 Янв '01
Откуда: Америка, Россия



2 Юзер   Цитировать


vsem spasibo, posmotru, proveru

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
anton
post Вторник, 03 Июля 2001, 22:22
Сообщение #20


Гигант Номер Раз
********

Группа: Ветеран Team RDA
Сообщений: 4349
Регистрация: 18 Янв '01
Откуда: Америка, Россия



2 Юзер   Цитировать


mda ... ili ya chto to ne pravil'no delau ili eshe chto, no vot eto yavno ne chochet rabotat' : (


tagMSG *Msg;


while(true)
{
while(PeekMessage(Msg,NULL,0,0,0))
{
TranslateMessage(Msg);
if (Msg->message == WM_DEVICECHANGE)
{
Application->MessageBox("jjjj","lll",1);

}
}
}

User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicTopic OptionsStart new topic
1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
здесь находятся:
 

Lo-Fi Версия CMSBlog Сейчас: Суббота, 03 Мая 2025, 15:43