
- •Приложение Глобальные функции acmDriverAdd
- •AcmDriverEnum
- •AcmDriverEnumCallback
- •AcmDriverPriority
- •AcmDriverProc
- •AcmDriverRemove
- •AcmFilterChoose
- •AcmFilterChooseHookProc
- •AcmFilterEnum
- •AcmFilterEnumCallback
- •AcmFilterTagEnum
- •AcmFilterTagEnumCallback
- •AcmFormatChoose
- •AcmFormatChooseHookProc
- •AcmFormatEnum
- •AcmFormatEnumCallback
- •AcmFormatSuggest
- •AcmFormatTagDetails
- •AcmFormatTagEnum
- •AcmFormatTagEnumCallback
- •AcmMetrics
- •AcmStreamClose
- •AcmStreamConvert
- •AcmStreamConvertCallback
- •AcmStreamOpen
- •AcmStreamPrepareHeader
- •AcmStreamSize
- •AcmStreamUnprepareHeader
- •AfxGetApp
- •AfxGetInstanceHandle
- •AfxGetInstanceHandle
- •AuxGetDevCaps
- •AuxGetNumDevs
- •AuxGetVolume
- •AuxSetVolume
- •CoCreateInstance
- •CoInitialize
- •CommDlgExtendedError
- •CopyMemory
- •CoUninitialize
- •CreateEvent
- •CreateWaitableTimer
- •CreateWindowEx
- •DirectDrawCreate
- •DirectSoundCaptureCreate
- •DirectSoundCaptureEnumerate
- •DirectSoundCreate
- •DirectSoundEnumerate
- •DsEnumCallback
- •EnableWindow
- •FillMemory
- •FormatMessage
- •GetCurrentDirectory
- •GetDiskFreeSpace
- •GetDlgItem
- •GetLastError
- •GetOpenFileName
- •GetOpenFileNamePreview
- •GetSaveFileName
- •GetSaveFileNamePreview
- •GetTickCount
- •GetWindowRect
- •KillTimer
- •MciGetCreatorTask
- •MciGetDeviceId
- •MciGetErrorString
- •MciGetYieldProc
- •MciSendCommand
- •MciSendString
- •MciSetYieldProc
- •MciWndCreate
- •MciWndRegisterClass
- •MessageBeep
- •MessageBox
- •MmioAdvance
- •MmioAscend
- •MmioClose
- •MmioCreateChunk
- •MmioDescend
- •MmioFlush
- •MmioGetInfo
- •MmioInstallIoProc
- •MmioOpen
- •MmioProc
- •MmioRead
- •MmioRename
- •MmioSeek
- •MmioSendMessage
- •MmioSetBuffer
- •MmioSetInfo
- •MmioStringToFourcc
- •MmioWrite
- •MsgWaitForMultipleObjects
- •OutputDebugString
- •PlaySound
- •PulseEvent
- •QueryPerformanceCounter
- •QueryPerformanceFrequency
- •RegisterWindowMessage
- •ResetEvent
- •SetCurrentDirectory
- •SetCursor
- •SetDiBitsToDevice
- •SetEvent
- •SetTimer
- •SndPlaySound
- •TimeBeginPeriod
- •TimeEndPeriod
- •TimeGetDevCaps
- •TimeGetSystemTime
- •TimeGetTime
- •TimeKillEvent
- •TimeProc
- •TimerProc
- •TimeSetEvent
- •WaitForSingleObject
- •WaveInAddBuffer
- •WaveInGetDevCaps
- •WaveInGetErrorText
- •WaveInGetNumDevs
- •WaveInOpen
- •WaveInPrepareHeader
- •WaveInProc
- •WaveInReset
- •WaveInStart
- •WaveInStop
- •WaveInUnprepareHeader
- •WaveOutBreakLoop
- •WaveOutClose
- •WaveOutGetDevCaps
- •WaveOutGetErrorText
- •WaveOutGetNumDevs
- •WaveOutGetPitch
- •WaveOutGetPlaybackRate
- •WaveOutGetPosition
- •WaveOutGetVolume
- •WaveOutOpen
- •WaveOutPause
- •WaveOutPrepareHeader
- •WaveOutProc
- •WaveOutReset
- •WaveOutRestart
- •WaveOutSetPitch
- •WaveOutSetPlaybackRate
- •WaveOutSetVolume
- •WaveOutUnprepareHeader
- •WaveOutWrite
- •WinHelp
- •ZeroMemory
- •Интерфейсы
- •IDirectSound
- •IDirectSound::Compact
- •IDirectSound::CreateSoundBuffer
- •IDirectSound::DuplicateSoundBuffer
- •IDirectSound::GetCaps
- •IDirectSound::GetSpeakerConfig
- •IDirectSound::Initialize
- •IDirectSound::SetCooperativeLevel
- •IDirectSound::SetSpeakerConfig
- •IDirectSoundBuffer
- •IDirectSoundBuffer::GetCaps
- •IDirectSoundBuffer::GetCurrentPosition
- •IDirectSoundBuffer::GetFormat
- •IDirectSoundBuffer::GetFrequency
- •IDirectSoundBuffer::GetPan
- •IDirectSoundBuffer::GetStatus
- •IDirectSoundBuffer::GetVolume
- •IDirectSoundBuffer::Lock
- •IDirectSoundBuffer::Play
- •IDirectSoundBuffer::Restore
- •IDirectSoundBuffer::SetCurrentPosition
- •IDirectSoundBuffer::SetFormat
- •IDirectSoundBuffer::SetFrequency
- •IDirectSoundBuffer::SetPan
- •IDirectSoundBuffer::SetVolume
- •IDirectSoundBuffer::Stop
- •IDirectSoundBuffer::Unlock
- •IDirectSoundCapture
- •IDirectSoundCapture::CreateCaptureBuffer
- •IDirectSoundCapture::GetCaps
- •IDirectSoundCaptureBuffer
- •IDirectSoundCaptureBuffer::GetCaps
- •IDirectSoundCaptureBuffer::GetCurrentPosition
- •IDirectSoundCaptureBuffer::GetFormat
- •IDirectSoundCaptureBuffer::GetStatus
- •IDirectSoundCaptureBuffer::Lock
- •IDirectSoundCaptureBuffer::Start
- •IDirectSoundCaptureBuffer::Stop
- •IDirectSoundCaptureBuffer::Unlock
- •IDirectSoundNotify
- •IDirectSoundNotify::SetNotificationPositions
- •IKsPropertySet
- •IKsPropertySet::Get
- •IKsPropertySet::QuerySupport
- •IKsPropertySet::Set
- •IUnknown
- •Реализация
- •Использование
- •IUnknown::AddRef
- •IUnknown::QueryInterface
- •IUnknown::Release
- •Классы cArchive
- •CArchive::Read
- •CArchive::Write
- •CBitmap
- •CBitmap::CreateCompatibleBitmap
- •CBitmap::GetBitmapBits
- •CBitmap::SetBitmapBits
- •CCmdUi::ContinueRouting
- •CCmdUi::Enable
- •CCmdUi::SetCheck
- •Cdc::Attach
- •Cdc::BitBlt
- •Cdc::CreateCompatibleDc
- •Cdc::Detach
- •Cdc::EndDoc
- •Cdc::EndPage
- •Cdc::FillRect
- •Cdc::GetDeviceCaps
- •Cdc::GetSafeHdc
- •Cdc::GetTextExtent
- •Cdc::IsPrinting
- •Cdc::LineTo
- •Cdc::Rectangle
- •Cdc::SelectClipRgn
- •Cdc::SelectObject
- •Cdc::SetMapMode
- •Cdc::SetTextAlign
- •Cdc::SetViewportOrg
- •Cdc::StartDoc
- •Cdc::StartPage
- •CDialog
- •CDialog::OnCancel
- •CDialog::DoModal
- •CDialog::EndDialog
- •CDialog::OnInitDialog
- •CDialog::OnOk
- •CDocument
- •CDocument::GetFile
- •CDocument::GetPathName
- •CDocument::OnNewDocument
- •CDocument::ReleaseFile
- •CDocument::SetModifiedFlag
- •CDocument::UpdateAllViews
- •CFile::cFile
- •CFile::Close
- •CFile::GetFilePath
- •CFile::GetLength
- •CFile::Open
- •CFile::Read
- •CFile::Remove
- •CFile::Seek
- •CFile::SeekToBegin
- •CFile::SetLength
- •CFile::Write
- •CFrameWnd
- •CFrameWnd::Create
- •CFrameWnd::DockControlBar
- •CFrameWnd::EnableDocking
- •CFrameWnd::LoadBarState
- •CFrameWnd::LoadFrame
- •CFrameWnd::OnCreateClient
- •CFrameWnd::SaveBarState
- •CFrameWnd::SetActiveView
- •CFrameWnd::ShowControlBar
- •CObArray
- •CObArray::Add
- •CObArray::GetSize
- •CObArray::operator [ ]
- •CObArray::RemoveAll
- •CObArray::SetSize
- •CPropertyPage
- •CPropertyPage::OnSetActive
- •CPropertyPage::OnWizardBack
- •CPropertyPage::OnWizardFinish
- •CPropertyPage::OnWizardNext
- •CPropertySheet
- •CPropertySheet::AddPage
- •CPropertySheet::Construct
- •CPropertySheet::cPropertySheet
- •CPropertySheet::DoModal
- •CPropertySheet::GetPageIndex
- •CPropertySheet::SetActivePage
- •CPropertySheet::SetFinishText
- •CPropertySheet::SetTitle
- •CPropertySheet::SetWizardButtons
- •CPropertySheet::SetWizardMode
- •CRect::NormalizeRect
- •CRect::OffsetRect
- •CRect::PtInRect
- •CRect::SetRect
- •CRgn::CreateRectRgnIndirect
- •CSliderCtrl
- •CSliderCtrl::GetPos
- •CSliderCtrl::SetLineSize
- •CSliderCtrl::SetPageSize
- •CSliderCtrl::SetPos
- •CSliderCtrl::SetRange
- •CSliderCtrl::SetTicFreq
- •CSplitterWnd
- •CSplitterWnd::CreateStatic
- •CSplitterWnd::CreateView
- •CSplitterWnd::GetPane
- •CStatusBar
- •CStatusBar::CommandToIndex
- •CStatusBar::Create
- •CStatusBar::SetIndicators
- •CStatusBar::SetPaneInfo
- •CStatusBar::SetPaneText
- •CString
- •CString::Empty
- •CString::Format
- •CString::GetBuffer
- •CString::IsEmpty
- •CString::LoadString
- •CString::MakeReverse
- •CString::ReleaseBuffer
- •CView::DoPreparePrinting
- •CView::GetDocument
- •CView::OnBeginPrinting
- •CView::OnDraw
- •CView::OnInitialUpdate
- •CView::OnPrepareDc
- •CView::OnPreparePrinting
- •CView::OnPrint
- •CView::OnUpdate
- •CWinApp
- •CWinApp::AddDocTemplate
- •CWinApp::Enable3dControls
- •CWinApp::GetProfileInt
- •CWinApp::GetProfileString
- •CWinApp::InitInstance
- •CWinApp::LoadIcon
- •CWinApp::LoadStandardCursor
- •CWinApp::OpenDocumentFile
- •CWinApp::SetRegistryKey
- •CWinApp::WriteProfileInt
- •CWinApp::WriteProfileString
- •CWnd::DoDataExchange
- •CWnd::EnableWindow
- •CWnd::GetClientRect
- •CWnd::GetDlgItem
- •CWnd::GetParent
- •CWnd::GetParentFrame
- •CWnd::GetParentOwner
- •CWnd::GetSafeHwnd
- •CWnd::Invalidate
- •CWnd::IsDlgButtonChecked
- •CWnd::OnHScroll
- •CWnd::OnKillFocus
- •CWnd::OnSetFocus
- •CWnd::SetScrollInfo
- •CWnd::SetScrollPos
- •CWnd::ShowScrollBar
- •CWnd::UpdateData
- •Команды mci break
- •Capability
- •Sysinfo
- •Макросы mci_hms_hour
- •Mci_hms_minute
- •Mci_hms_second
- •Mci_make_hms
- •Mci_make_msf
- •Mci_make_tmsf
- •Mci_msf_frame
- •Mci_msf_minute
- •Mci_msf_second
- •Mci_tmsf_frame
- •Mci_tmsf_minute
- •Mci_tmsf_second
- •Mci_tmsf_track
- •MciWndCanConfig
- •MciWndCanEject
- •MciWndCanPlay
- •MciWndCanRecord
- •MciWndCanSave
- •MciWndCanWindow
- •MciWndChangeStyles
- •MciWndClose
- •MciWndDestroy
- •MciWndEnd
- •MciWndGetActiveTimer
- •MciWndGetAlias
- •MciWndGetDevice
- •MciWndGetDeviceId
- •MciWndGetEnd
- •MciWndGetError
- •MciWndGetFileName
- •MciWndGetInactiveTimer
- •MciWndGetLength
- •MciWndGetPosition
- •MciWndGetPositionString
- •MciWndGetRepeat
- •MciWndGetSpeed
- •MciWndGetStart
- •MciWndGetStyles
- •MciWndGetTimeFormat
- •MciWndGetVolume
- •MciWndHome
- •MciWndNew
- •MciWndOpen
- •MciWndOpenDialog
- •MciWndOpenInterface
- •MciWndPause
- •MciWndPlay
- •MciWndPlayFrom
- •MciWndPlayFromTo
- •MciWndPlayReverse
- •MciWndPlayTo
- •MciWndRecord
- •MciWndResume
- •MciWndReturnString
- •MciWndSave
- •MciWndSaveDialog
- •MciWndSeek
- •MciWndSendString
- •MciWndSetActiveTimer
- •MciWndSetInactiveTimer
- •MciWndSetOwner
- •MciWndSetRepeat
- •MciWndSetSpeed
- •MciWndSetTimeFormat
- •MciWndSetTimers
- •MciWndSetVolume
- •MciWndStep
- •MciWndStop
- •MciWndUseFrames
- •MciWndUseTime
- •MmioFourcc
- •Массивы patcharray
- •Keyarray
- •Сообщения mci_break
- •Mci_close
- •Mci_getdevcaps
- •Mci_index
- •Mci_open
- •Mci_pause
- •Mci_play
- •Mci_record
- •Mci_reserve
- •Mci_resume
- •Mci_save
- •Mci_seek
- •Mci_setaudio
- •Mci_status
- •Mci_stop
- •Mciwndm_can_config
- •Mciwndm_can_eject.
- •Mciwndm_can_play
- •Mciwndm_can_record
- •Mciwndm_can_save
- •Mciwndm_can_window
- •Mciwndm_changestyles
- •Mciwndm_getactivetimer
- •Mciwndm_getalias
- •Mciwndm_getdevice
- •Mciwndm_getdeviceid
- •Mciwndm_getend
- •Mciwndm_geterror
- •Mciwndm_getfilename
- •Mciwndm_getinactivetimer
- •Mciwndm_getlength
- •Mciwndm_getposition
- •Mciwndm_getrepeat
- •Mciwndm_getspeed
- •Mciwndm_getstart
- •Mciwndm_getstyles
- •Mciwndm_gettimeformat
- •Mciwndm_getvolume
- •Mciwndm_new
- •Mciwndm_notifyerror
- •Mciwndm_notifymedia
- •Mciwndm_notifymode
- •Mciwndm_notifypos
- •Mciwndm_open
- •Mciwndm_openinterface
- •Mciwndm_playfrom
- •Mciwndm_playreverse
- •Mciwndm_playto
- •Mciwndm_returnstring
- •Mciwndm_sendstring
- •Mciwndm_setactivetimer
- •Mciwndm_setinactivetimer
- •Mciwndm_setowner
- •Mciwndm_setrepeat
- •Mciwndm_setspeed
- •Mciwndm_settimeformat
- •Mciwndm_settimers
- •Mciwndm_setvolume
- •Mm_acm_formatchoose
- •Mm_mcinotify
- •Mm_mcisignal
- •Mm_wim_close
- •Mm_wim_data
- •Mm_wim_open
- •Mm_wom_close
- •Mm_wom_done
- •Mm_wom_open
- •Mmiom_close
- •Mmiom_open
- •Mmiom_read
- •Mmiom_rename
- •Mmiom_seek
- •Mmiom_write
- •Mmiom_writeflush
- •Wm_close
- •Wm_timer
- •Структуры acmdriverdetails
- •Acmfilterchoose
- •Acmformatchoose
- •Acmfilterdetails
- •Acmfiltertagdetails
- •Acmformatdetails
- •Acmformattagdetails
- •Acmstreamheader
- •Auxcaps
- •Bitmapinfo
- •Bitmapinfoheader
- •Createstruct
- •Dsbcaps
- •Dsbpositionnotify
- •Dsbufferdesc
- •Dscbcaps
- •Dscbufferdesc
- •Dsccaps
- •Logfont
- •Mci_break_parms
- •Mci_dgv_cue_parms
- •Mci_dgv_open_parms
- •Mci_dgv_pause_parms
- •Mci_dgv_play_parms
- •Mci_dgv_record_parms
- •Mci_dgv_reserve_parms
- •Mci_dgv_save_parms
- •Mci_dgv_set_parms
- •Mci_dgv_status_parms
- •Mci_generic_parms
- •Mci_getdevcaps_parms
- •Mci_open_parms
- •Mci_ovly_open_parms
- •Mci_ovly_save_parms
- •Mci_play_parms
- •Mci_record_parms
- •Mci_save_parms
- •Mci_seek_parms
- •Mci_seq_set_parms
- •Mci_set_parms
- •Mci_status_parms
- •Mci_vcr_cue_parms
- •Mci_vcr_play_parms
- •Mci_vcr_record_parms
- •Mci_vcr_seek_parms
- •Mci_vcr_set_parms
- •Mci_vcr_status_parms
- •Mci_vd_play_parms
- •Mci_wave_open_parms
- •Mci_wave_set_parms
- •Mmckinfo
- •Mmioinfo
- •Openfilename
- •Rgbquad
- •Scrollinfo
- •Security_attributes
- •Timecaps
- •Wavefilter
- •Waveformatex
- •Wavehdr
- •Waveincaps
- •Waveoutcaps
Mci_seek
MCIERROR mciSendCommand(MCIDEVICEID wDeviceID, MCI_SEEK, DWORD dwFlags, (DWORD) (LPMCI_SEEK_PARMS) lpSeek);
Возвращаемое значение
В случае успешного завершения работы возвращает нулевое значение и значение ошибки в противном случае.
Аргументы
wDeviceID — идентификатор устройства MCI, которому посылается данное командное сообщение.
dwFlags — Флаги сообщения MCI_NOTIFY, MCI_WAIT или для видеомагнитофона и устройства вывода видео информации MCI_TEST. Кроме того, для сообщения MCI_SEEK определены следующие значения:
Данные флаги могут устанавливаться для всех устройств, обрабатывающих сообщение MCI_SEEK:
MCI_SEEK_TO_END — поиск конца воспроизводимого фрагмента информации.
MCI_SEEK_TO_START — поиск начала воспроизводимого фрагмента информации.
MCI_TO — в переменной dwTo объекта структуры MCI_SEEK_PARMS, на который указывает аргумент lpSeek, содержится новое значение текущей позиции воспроизведения. Размерность величины, содержащейся в данной переменной, определяется флагом MCI_SET_TIME_FORMAT сообщения MCI_SET. Этот флаг несовместим с флагами MCI_SEEK_TO_END или MCI_SEEK_TO_START.
Данные флаги могут использоваться устройствами типа vcr:
MCI_VCR_SEEK_AT — в переменной dwAt объекта структуры MCI_VCR_SEEK_PARMS, на который указывает аргумент lpSeek, содержится время начала всей команды.
MCI_VCR_SEEK_MARK — в переменной dwMark объекта структуры MCI_VCR_SEEK_PARMS, на который указывает аргумент lpSeek, содержится числовая метка, которую следует найти.
MCI_VCR_SEEK_REVERSE — поиск производится в обратном порядке. Этот флаг используется только совместно с флагом MCI_VCR_SEEK_MARK.
Данные флаги могут использоваться устройствами типа videodisc:
MCI_VD_SEEK_REVERSE — поиск производится в обратном порядке.
lpSeek — указатель на объект структуры MCI_SEEK_PARMS. (Устройства, имеющие расширенный набор команд, используют вместо этой структуры собственные структуры.)
Примечание
Команда MCI_SEEK изменяет текущую позицию воспроизведения с максимально возможной скоростью. В процессе выполнения этой команды прекращается вывод аудио и видео информации. После завершения поиска устройство останавливается. Эту команду можно посылать лазерному проигрывателю, устройству воспроизведения и записи видео информации, устройству воспроизведения аудио информации в формате MIDI, видеомагнитофону, видеодиску и, устройству воспроизведения аудио информации в формате ИКМ.
Если размер блока данных устройства превышает 1 байт, эта команда устанавливает курсор воспроизведения на ближайшую границу блока.
При работе с видеомагнитофоном в переменной lpSeek передаётся указатель на объект структуры MCI_VCR_SEEK_PARMS.
Описание данного сообщения содержится в файле заголовка mmsystem.h.
MCI_SET
MCIERROR mciSendCommand(MCIDEVICEID wDeviceID, MCI_SET, DWORD dwFlags, (DWORD) (LPMCI_SET_PARMS) lpSet);
Возвращаемое значение
В случае успешного завершения работы возвращает нулевое значение и значение ошибки в противном случае.
Аргументы
wDeviceID — идентификатор устройства MCI, которому посылается данное командное сообщение.
dwFlags — Флаги сообщения MCI_NOTIFY, MCI_WAIT или для видеомагнитофона и устройства вывода видео информации MCI_TEST. Кроме того, для сообщения MCI_SET определены следующие значения:
Данные флаги могут устанавливаться для всех устройств, обрабатывающих сообщение MCI_SET:
MCI_SET_AUDIO — в переменной dwAudio объекта структуры MCI_SET_PARMS, на который указывает аргумент lpSet, содержится номер аудио канала. Этот флаг должен использоваться совместно с флагами MCI_SET_ON или MCI_SET_OFF. В данной переменной могут содержаться следующие константы:
MCI_SET_AUDIO_ALL — все аудио каналы.
MCI_SET_AUDIO_LEFT — левый канал.
MCI_SET_AUDIO_RIGHT — правый канал.
MCI_SET_DOOR_CLOSED — закрывает крышку устройства (если она есть).
MCI_SET_DOOR_OPEN — открывает крышку устройства (если она есть).
MCI_SET_OFF — отключает указанный видео или аудио канал.
MCI_SET_ON — подключает указанный видео или аудио канал.
MCI_SET_TIME_FORMAT — в переменной dwTimeFormat объекта структуры MCI_SET_PARMS, на который указывает аргумент lpSet, содержится описание формата. Совместно с данным флагом используются следующие флаги:
MCI_FORMAT_BYTES — при использовании формата ИКМ (импульсно-кодовой модуляции) задает описание формата времени в количестве вводимых и выводимых байт. Распознаётся устройствами типа waveaudio.
MCI_FORMAT_FRAMES — следующие команды будут использовать кадры. Распознаётся устройствами типа digitalvideo, vcr и videodisc.
MCI_FORMAT_HMS — задаёт формат измерения времени в часах, минутах и секундах. Распознаётся устройствами типа vcr и videodisc.
MCI_FORMAT_MILLISECONDS — задаёт формат измерения времени в миллисекундах. Распознаётся всеми типами устройств.
MCI_FORMAT_MSF — задаёт формат измерения времени в часах, минутах и кадрах. Распознаётся устройствами типа cdaudio и vcr.
MCI_FORMAT_SAMPLES — задаёт формат измерения времени во введённых или выведенных отсчётах.
MCI_FORMAT_SMPTE_24, MCI_FORMAT_SMPTE_25 и MCI_FORMAT_SMPTE_30 — устанавливают форматы 24, 25 и 30 кадров SMPTE соответственно. Распознаётся устройствами типа sequencer и vcr.
MCI_FORMAT_SMPTE_30DROP — устанавливает формат 30 с минусом кадров SMPTE. Распознаётся устройствами типа sequencer и vcr.
MCI_FORMAT_TMSF — задаёт формат измерения времени в дорожках, минутах, секундах и кадрах. (MCI использует последовательную нумерацию дорожек.) Распознаётся устройствами типа cdaudio и vcr. Усторйства, не работающие с видеосигналам, возвращают значение
MCI_SET_VIDEO — подключает и отключает видеосигнал. Этот флаг должен использоваться совместно с флагами MCI_SET_ON или MCI_SET_OFF. Если устройство не работает с видеосигналом, функция возвращает значение MCIERR_UNSUPPORTED_FUNCTION.
Данные флаги могут использоваться устройствами типа digitalvideo:
MCI_DGV_SET_FILEFORMAT — в переменной dwFileFormat объекта структуры MCI_DGV_SET_PARMS, на который указывает аргумент lpSet, содержится описание формата. Для устройств записи и воспроизведения цифровой видеоинформации формат файла используется при выполнении команд сохранения и видеозахвата. Если описание формата отсутствует, используется формат, определённые в драйвере устройства по умолчанию. Если указанный формат файла входит в конфликт с выбранным алгоритмом или качеством, они устанавливаются в значения, выбранные по умолчанию для данного формата файла. Определены следующие константы файловых форматов:
MCI_DGV_FF_AVI — формат AVI.
MCI_DGV_FF_AVSS — формат AVSS.
MCI_DGV_FF_DIB — формат DIB.
MCI_DGV_FF_JFIF — формат JFIF.
MCI_DGV_FF_JPEG — формат JPEG.
MCI_DGV_FF_MPEG — формат MPEG.
MCI_DGV_FF_RDIB — формат RLE DIB.
MCI_DGV_FF_RJPEG — формат RJPEG.
MCI_DGV_SET_SEEK_EXACTLY — устанавливает формат, используемый при позиционировании. Этот флаг должен использоваться совместно с флагами MCI_SET_ON или MCI_SET_OFF. Если установлен флаг MCI_SET_ON, при записи или воспроизведении будет осуществлён доступ к кадру, определённому флагом MCI_FROM. Если установлен флаг MCI_SET_OFF, устройство будет искать ключевой кадр, предшествующий указанному кадру. Для некоторых файлов и устройств это должен быть первый кадр файла. Параметры, выбираемые по умолчанию для данного флага, зависят от используемого устройства.
MCI_DGV_SET_SPEED — в переменной dwSpeed объекта структуры MCI_DGV_SET_PARMS, на который указывает аргумент lpSet, содержится скорость воспроизведения. Скорость определяется как отношение нормальной скорости воспроизведения к требуемой скорости воспроизведения, умноженного на 1000. Половинной скорости воспроизведения соответствует значение 500, а удвоенной скорости воспроизведения — 2000. Допустимый диапазон изменения скорости воспроизведения зависит от устройства и, возможно, также и от файла.
MCI_DGV_SET_STILL — при одновременной установке флага MCI_DGV_SET_FILEFORMAT, команда MCI_SET устанавливает формат файла, используемого в командах видеозахвата.
Данные флаги могут использоваться устройствами типа sequencer:
MCI_SEQ_FORMAT_SONGPTR — устанавливает формат измерения времени в длительностях звуков.
MCI_SEQ_SET_MASTER — передаёт устройству функцию синхронизации данных и указывает на то, что тип синхронизации определяется значением переменной dwMaster объекта структуры MCI_SEQ_SET_PARMS, на который указывает аргумент lpSet. При установке данного флага драйвер MCISEQ возвращает значение MCIERR_UNSUPPORTED_FUNCTION. Определены следующие константы типов синхронизации:
MCI_SEQ_MIDI — информация о синхронизации передаётся в формате MIDI.
MCI_SEQ_SMPTE — информация о синхронизации передаётся в формате SMPTE.
MCI_SEQ_NONE — информация о синхронизации не передаётся.
MCI_SEQ_SET_OFFSET — изменяет SMPTE смещение последовательности, определяемой идентификатором MIDI-устройства в соответствии со значением переменной dwOffset объекта структуры MCI_SEQ_SET_PARMS, на который указывает аргумент lpSet. Данный флаг используется только для последовательностей с временным делением SMPTE.
MCI_SEQ_SET_PORT — в переменной dwPort объекта структуры MCI_SEQ_SET_PARMS, на который указывает аргумент lpSet, содержится номер MIDI-порта последовательности. При получении сообщения с данным флагом устройство закрывает предыдущий порт (если он был открыт) и пытается открыть и использовать новый порт. Если это не удаётся, возвращается значение ошибки и снова открывается старый порт (если он был открыт). Для идентификации портов используются следующие константы:
MCI_SEQ_NONE — закрывает использовавшийся до этого порт (если он был открыт). Устройство ведёт себя точно так же, как если бы порт был открыт, но не посылает сообщения MIDI.
MIDI_MAPPER — предоставляет выбор открываемого порта системе.
MCI_SEQ_SET_SLAVE — устанавливает устройство в режим приёма синхронизирующей информации. Тип синхронизации задаётся в переменной dwSlave объекта структуры MCI_SEQ_SET_PARMS, на который указывает аргумент lpSet. При получении сообщения с данным флагом драйвер MCISEQ возвращает значение MCIERR_UNSUPPORTED_FUNCTION. Определены следующие константы типов синхронизации:
MCI_SEQ_FILE — информация о синхронизации хранится в MIDI-файле.
MCI_SEQ_MIDI — устройство получает синхронизирующую информацию в формате MIDI.
MCI_SEQ_NONE — устройство игнорирует синхронизирующую информацию, содержащуюся в потоке MIDI.
MCI_SEQ_SMPTE — устройство получает синхронизирующую информацию в формате SMPTE.
MCI_SEQ_SET_TEMPO — изменяет темп MIDI-последовательности в соответствии со значением, содержащимся в переменной dwTempo объекта структуры MCI_SEQ_SET_PARMS, на который указывает аргумент lpSet. Если в последовательности применяется временное деление PPQN, темп определяется в тактах в минуту. Если в последовательности применяется временное деление SMPTE, темп определяется в кадрах в минуту.
Данные флаги могут использоваться устройствами типа vcr:
MCI_VCR_SET_ASSEMBLE_RECORD — устанавливает групповой или индивидуальный режимы записи. (Когда отключён групповой режим устройство находится в индивидуальном режиме и наоборот). Используется совместно со следующими флагами:
MCI_SET_ON — устанавливает групповой режим записи и отключает индивидуальный режим записи. Одновременно записывает все видео, аудио и временные дорожки.
MCI_SET_OFF — устанавливает индивидуальный режим записи и отключает групповой режим записи. При отключении группового режима записи появляется возможность выбирать записываемые видео, аудио и временные дорожки.
MCI_VCR_SET_CLOCK — в переменной dwClock объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится новое значение времени.
MCI_VCR_SET_COUNTER_FORMAT — в переменной dwCounterFormat объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится константа, идентифицирующая новый формат таймера, используемый счётчиком состояний. Список констант содержится в описании флага MCI_SET_TIME_FORMAT.
MCI_VCR_SET_COUNTER_VALUE — в переменной dwCounterValue объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится новое значение счётчика.
MCI_VCR_SET_INDEX — в переменной dwIndex объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится константа, определяющая объём выводимой на экран информации. Определены следующие значения:
MCI_VCR_INDEX_COUNTER — отображается счётчик.
MCI_VCR_INDEX_DATE — отображается дата.
MCI_VCR_INDEX_TIME — отображается время.
MCI_VCR_INDEX_TIMECODE — отображается код времени.
Дополнительная информация содержится в описании команды MCI_INDEX.
MCI_VCR_SET_PAUSE_TIMEOUT — в переменной dwPauseTimeout объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится максимальная длительность команды паузы в миллисекундах.
MCI_VCR_SET_POSTROLL_DURATION — в переменной dwPostrollDuration объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится длина отрезка видеоленты, измеряемая в текущем формате времени, которая будет прокручена после поступления команды остановки или паузы.
MCI_VCR_SET_POWER — включает или выключает питание. Должен использоваться совместно с одним из следующих флагов:
MCI_SET_OFF — выключает питание.
MCI_SET_ON — включает питание.
MCI_VCR_SET_PREROLL_DURATION — в переменной dwPrerollDuration объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится длина отрезка видеоленты, измеряемая в текущем формате времени, необходимая для стабилизации процесса воспроизведения с видеомагнитофона.
MCI_VCR_SET_RECORD_FORMAT — в переменной dwRecordFormat объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится константа, определяющая скорость записи. Определены следующие значения:
MCI_VCR_FORMAT_EP — запись на малой скорости.
MCI_VCR_FORMAT_LP — запись на пониженной скорости.
MCI_VCR_FORMAT_SP — запись на стандартной скорости.
MCI_VCR_SET_SPEED — в переменной dwSpeed объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится новое значение скорости, где величина 1000 соответствует нормальной скорости, 2000 — удвоенной скорости, а 500 — половинной скорости.
MCI_VCR_SET_TAPE_LENGTH — в переменной dwTapeLength объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится новое значение длины ленты, если эта величина не может быть определена автоматически.
MCI_VCR_SET_TIME_MODE — в переменной dwTapeLength объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится константа, определяющая новый режим временного позиционирования. Определены следующие константы:
MCI_VCR_TIME_COUNTER — устройство использует только счётчик.
MCI_VCR_TIME_DETECT — каждый раз, когда в устройство вставляется новая видеокассета, или устройство переходит из пассивного состояния в активное, устройство должно попытаться найти на ленте временные коды. Если коды времени найдены, они используются во всех последующих командах позиционирования. В противном случае используется счётчик.
MCI_VCR_TIME_TIMECODE — устройство использует только коды времени.
MCI_VCR_SET_TRACKING — точно настраивает скорость лентопротяжки в видеомагнитофоне. Должен использоваться совместно с одним из следующих флагов:
MCI_VCR_PLUS — увеличивает скорость лентопротяжки.
MCI_VCR_MINUS — уменьшает скорость лентопротяжки.
MCI_VCR_RESET — обнуляет настройку скорости лентопротяжки.
Данные флаги могут использоваться устройствами типа videodisc:
MCI_VD_FORMAT_TRACK — изменяет временной формат дорожки. MCI использует последовательные номера дорожек.
Данные флаги могут использоваться устройствами типа waveaudio:
MCI_WAVE_INPUT — значение переменной wInput объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, определяет источник записываемой информации.
MCI_WAVE_OUTPUT — значение переменной wOutput объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, определяет устройство воспроизведения аудио информации.
MCI_WAVE_SET_ANYINPUT — для записи может использоваться любой источник аудио информации, совместимый с текущим форматом.
MCI_WAVE_SET_ANYOUTPUT — для воспроизведения аудио информации может использоваться любое устройство, совместимое с текущим форматом.
MCI_WAVE_SET_AVGBYTESPERSEC — в переменной nAvgBytesPerSec объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, содержится новое значение числа воспроизводимых, записываемых или сохраняемых байт в секунду.
MCI_WAVE_SET_BITSPERSAMPLE — в переменной nBitsPerSample объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, содержится новая разрядность воспроизводимых, записываемых или сохраняемых данных.
MCI_WAVE_SET_BLOCKALIGN — в переменной nBlockAlign объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, содержится новое значения выравнивания блока для воспроизводимых, записываемых или сохраняемых данных.
MCI_WAVE_SET_CHANNELS — в переменной nChannels объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, содержится новое число каналов.
MCI_WAVE_SET_FORMATTAG — в переменной wFormatTag объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, содержится новый идентификатор формата воспроизводимой, записываемой или сохраняемой информации. Идентификатор WAVE_FORMAT_PCM соответствует формату ИКМ.
MCI_WAVE_SET_SAMPLESPERSEC — в переменной nSamplesPerSec объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, содержится новая частота дискретизации воспроизводимой, записываемой или сохраняемой информации.
lpSet — указатель на объект структуры MCI_SET_PARMS. (Устройства, имеющие расширенный набор команд, используют вместо этой структуры собственные структуры.)
Примечание
Команда MCI_SET изменяет параметры устройств и производит их установку в различные режимы. Эту команду можно посылать лазерному проигрывателю, устройству воспроизведения и записи видео информации, устройству воспроизведения аудио информации в формате MIDI, видеомагнитофону, видеодиску, устройству наложения видеоинформации и устройству вывода аудио информации в формате ИКМ.
При работе с устройством вывода видео информации в переменной lpSet передаётся указатель на объект структуры MCI_DGV_SET_PARMS, при работе с устройством воспроизведения аудио информации в формате MIDI — указатель на объект структуры MCI_SEQ_SET_PARMS, при работе с видеомагнитофоном — указатель на объект структуры MCI_VCR_SET_PARMS, а при работе с устройством вывода аудио информации в формате ИКМ — MCI_WAVE_SET_PARMS.
Некоторые свойства аудио устройств определяются при создании файла в который будет записываться аудио информация. Эти свойства описывают структуру данных в файле и не могут изменяться в процессе записи. Этим свойствам соответствуют следующие флаги.
MCI_WAVE_SET_AVGBYTESPERSEC
MCI_WAVE_SET_BITSPERSAMPLE
MCI_WAVE_SET_BLOCKALIGN
MCI_WAVE_SET_CHANNELS
MCI_WAVE_SET_FORMATTAG
MCI_WAVE_SET_SAMPLESPERSEC
Описание данного сообщения содержится в файле заголовка mmsystem.h.