Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[44.221.46.132] |
|
Сообщ.
#1
,
|
|
|
Всем привет! Странно, но не могу найти по разным запросам, такую, казалось бы, базовую функцию.
|
Сообщ.
#2
,
|
|
|
мыш
А с чего ты взял что вообще можно? Это всего лишь примитивный встроенный плеер TMediaPlayer = class(TCustomControl) |
Сообщ.
#3
,
|
|
|
Спасибо не знал! Может пнешь в нужном направлении?
|
Сообщ.
#4
,
|
|
|
Это все должно делаться через mciSendCommand
Начни с малого: В S путь до файла Uses MMSystem var OP: TMCI_Open_Parms; SP: MCI_STATUS_PARMS; DevID:Word; Begin {init$open dev} DevID:=mciGetDeviceID(PChar(S)); If (DevID=0) Then Begin OP.lpstrElementName:=PChar(S); mciSendCommand(0, MCI_OPEN, MCI_OPEN_ELEMENT, Longint(@OP)); end; mciSendCommand(DevID, MCI_PLAY, MCI_OPEN_ELEMENT, Longint(@OP)); Хотя для аудио файлов работает, для видео почему-то нет Добавлено Видео ещё проще открывается. Каналы думаю найдешь как сделать. S,Command:string; begin s:='F:\Video\Marvels.The.Avengers.BDRip_720_[Youtracker]_ot_Äÿäÿ_˸øà.mkv'; Command := 'open ' + s + ' type mpegvideo alias VideoFile'; mciSendString(PChar(Command), 0, 0, 0); Command:= 'window VideoFile handle '+IntToStr(form1.Handle); mciSendString(PChar(Command), 0, 0, 0); mciSendString(PChar('Play VideoFile'), 0, 0, 0); |
Сообщ.
#5
,
|
|
|
Вот тут в конце скорее всего оно:
http://read.pudn.com/downloads71/sourcecod...ystem.pas__.htm В функции setaudio https://msdn.microsoft.com/en-us/library/wi...2(v=vs.85).aspx есть "stream to number" и вродебы по описанию подходит: Specifies the audio stream played back from the workspace. If the stream is not specified and the file format does not define a default, then the interleaved audio stream that is physically first will be played. Но не пашет почему-то. Вот это пашет, для примера: mciSendString(PChar('SetAudio VideoFile off'), 0, 0, 0);//отключить звук mciSendString(PChar('SetAudio VideoFile volume to 100'), 0, 0, 0); //поставить громкость mciSendString(PChar('SetAudio VideoFile on'), 0, 0, 0);//включить звук А это: mciSendString(PChar('SetAudio VideoFile stream to 1'), 0, 0, 0); Нет, хоть ты тресни, хотя по логике пунктуация та-же. Далее нашел это: https://msdn.microsoft.com/en-us/library/ms...484(VS.85).aspx Там есть MCI_DGV_SETAUDIO_STREAM An audio-stream is specified in the dwValue member of the structure identified by lpSetAudio. The integer value specifies the audio stream played back from the workspace. If the stream is not specified, the first physically interleaved audio stream is played. Но так и не получилось добиться рзультата. Это про то, как работьать с setaudio http://www.delphisources.ru/forum/showthread.php?t=2044 Ну и вот для примера код, ближе к концу: https://bbs.csdn.net/topics/20099212 информации по крохам |