mciSendCommand

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
-=alp=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 147
Зарегистрирован: 08.03.2003 (Сб) 19:20

mciSendCommand

Сообщение -=alp=- » 04.04.2003 (Пт) 17:06

Помогите!!!!!!!!!!!!!!!!!!!!!!
Нужен мануал по этой API функции
Желательно на русском языке.

_______________________________
Windows как жена с ней плоха, а без неё ещё хуже.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 04.04.2003 (Пт) 17:23

На английском:

Раздел Platform SDK: Windows Multimedia статья mciSendCommand

-=alp=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 147
Зарегистрирован: 08.03.2003 (Сб) 19:20

Сообщение -=alp=- » 04.04.2003 (Пт) 17:37

Если ты имеешь в виду искать в msdn’не то там только для vc
А VC я не знаю
_______________________________
Windows как жена с ней плоха, а без неё ещё хуже.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 04.04.2003 (Пт) 17:45

Кидай мне что тебе непонятно на VC я тебе переведу :)

-=alp=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 147
Зарегистрирован: 08.03.2003 (Сб) 19:20

Сообщение -=alp=- » 05.04.2003 (Сб) 3:12

MCIERROR mciSendCommand(
MCIDEVICEID IDDevice,
UINT uMsg,
DWORD fdwCommand,
DWORD dwParam
);
Parameters
IDDevice
Device identifier of the MCI device that is to receive the command message. This parameter is not used with the MCI_OPEN command message.
uMsg
Command message. For a list, see Multimedia Commands.
fdwCommand
Flags for the command message.
dwParam
Pointer to a structure that contains parameters for the command message.
Return Values
Returns zero if successful or an error otherwise. The low-order word of the returned DWORD value contains the error return value. If the error is device-specific, the high-order word of the return value is the driver identifier; otherwise, the high-order word is zero. For a list of possible return values, see MCIERR Return Values.

To retrieve a text description of mciSendCommand return values, pass the return value to the mciGetErrorString function.

______________________________________________________

MCIERROR mciSendCommand(
MCIDEVICEID wDeviceID,
MCI_OPEN,
DWORD dwFlags,
(DWORD) (LPMCI_OPEN_PARMS) lpOpen
);
Parameters
wDeviceID
Device identifier of the MCI device that is to receive the command message.
dwFlags
MCI_NOTIFY or MCI_WAIT. For information about these flags, see The Wait, Notify, and Test Flags.
lpOpen
Pointer to an MCI_OPEN_PARMS structure. (Devices with extended command sets might replace this structure with a device-specific structure.)
Return Values
Returns zero if successful or an error otherwise.
___________________________________________________

typedef struct {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
LPCSTR lpstrDeviceType;
LPCSTR lpstrElementName;
LPCSTR lpstrAlias;
} MCI_OPEN_PARMS;

Members
dwCallback
The low-order word specifies a window handle used for the MCI_NOTIFY flag.
wDeviceID
Identifier returned to application.
lpstrDeviceType
Name or constant identifier of the device type. (The name of the device is typically obtained from the registry or SYSTEM.INI file.) If this member is a constant, it can be one of the values listed in MCI Device Types.
lpstrElementName
Device element (often a path).
lpstrAlias
Optional device alias.
Remarks
When assigning data to the members of this structure, set the corresponding flags in the fdwCommand parameter of the mciSendCommand function to validate the members.

Requirements
_____________________________________________

MCIERROR mciSendCommand(
MCIDEVICEID wDeviceID,
MCI_PLAY,
DWORD dwFlags,
(DWORD) (LPMCI_PLAY_PARMS ) lpPlay
);
Parameters
wDeviceID
Device identifier of the MCI device that is to receive the command message.
dwFlags
MCI_NOTIFY, MCI_WAIT, or, for digital-video and VCR devices, MCI_TEST. For information about these flags, see The Wait, Notify, and Test Flags.
lpPlay
Pointer to an MCI_PLAY_PARMS structure. (Devices with extended command sets might replace this structure with a device-specific structure.)

какими должны быть параметры ?

-=alp=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 147
Зарегистрирован: 08.03.2003 (Сб) 19:20

Сообщение -=alp=- » 05.04.2003 (Сб) 18:54

Private Type MCI_OPEN_PARMS
dwCallback As Long
wDeviceID As Long
lpstrDeviceType As String
lpstrElementName As String
lpstrAlias As String
End Type
Private openp As MCI_OPEN_PARMS
Private Type MCI_PLAY_PARMS
dwCallback As Long
dwFrom As Long
dwTo As Long
End Type
Private playp As MCI_PLAY_PARMS
Private Type MCI_SEEK_PARMS
dwCallback As Long
dwTo As Long
End Type



openp.dwCallback = MCI_NOTIFY
openp.wDeviceID = 5
openp.lpstrDeviceType = MCI_DEVTYPE_CD_AUDIO
openp.lpstrElementName = "Track01.cda"
openp.lpstrAlias = "e:\"

playp.dwFrom = 0
playp.dwTo = 100
playp.dwCallback = MCI_NOTIFY
mciSendCommand MCI_DEVTYPE_CD_AUDIO, MCI_OPEN, MCI_NOTIFY, openp
mciSendCommand MCI_DEVTYPE_CD_AUDIO, MCI_PLAY, MCI_NOTIFY, playp

А компилятор говорит не знает что такое openp и playp !?
Тип мол не такой. А какой должен быть ?
____________________________
Коллекционер информации.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 07.04.2003 (Пн) 10:14

Тип, судя по всему должен быть Long. Дело в том, что туда передается адрес структуры. Можно попробовать написать address of openlp

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.04.2003 (Пн) 10:24

Извините что влезаю...
Перевожу из апи-гайда

Код: Выделить всё
Declare Function mciSendCommand Lib "winmm.dll" Alias "mciSendCommandA" (ByVal wDeviceID As Long, ByVal uMessage As Long, ByVal dwParam1 As Long, ByRef dwParam2 As Any) As Long


· IDDevice
Идентификатор устройства MCI, которому шлётся сообщение. Этотт параметр не используется с командой MCI_OPEN.

· uMsg
Командное сообщение. За информацией об оном идите в Command Messages.

· fdwCommand
Флаги командного сообщения.

· dwParam
Адрес структуры, содержащей параметры командного сообщения


Никаких AddressOf. Объявляется перемеенная типа MCI_OPEN_PARMS

Dim openParams As MCI_OPEN_PARMS

и юзается, к примеру

mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE Or MCI_OPEN_SHAREABLE, openParams)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dagobert
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 141
Зарегистрирован: 21.12.2002 (Сб) 6:48
Откуда: Russia

Сообщение Dagobert » 12.04.2003 (Сб) 6:55

А если использовать mciSendString. Тогда всё проще:
http://www25.brinkster.com/msvbasic/?p=vbmci&s=vb

-=alp=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 147
Зарегистрирован: 08.03.2003 (Сб) 19:20

Сообщение -=alp=- » 14.04.2003 (Пн) 5:13

mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE Or MCI_OPEN_SHAREABLE, openParams)


И он пишет openParams type mismach

-=alp=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 147
Зарегистрирован: 08.03.2003 (Сб) 19:20

Сообщение -=alp=- » 14.04.2003 (Пн) 5:43

а если через mciSendString то когда указываешь играть вторую или любую другую песню с компакт диска то она почемута играет всегда только перую песню


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot], SemrushBot, Yandex-бот и гости: 4

    TopList