Воспроизведение видео

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Mario
Новичок
Новичок
Аватара пользователя
 
Сообщения: 43
Зарегистрирован: 19.10.2005 (Ср) 13:23
Откуда: Из Новосиба

Воспроизведение видео

Сообщение Mario » 16.01.2006 (Пн) 7:43

Что здесь не правильно?
Или может правильно но у меня не работает!
И есть ли более простой способ просмотра видео через pictureBox!

Код: Выделить всё
Sub PlayAVIPictureBox(FileName As String, ByVal Window As PictureBox)
Dim RetVal As Long
Dim CommandString As String
Dim ShortFileName As String * 260
Dim deviceIsOpen As Boolean

'Короткое имя файла
RetVal = GetShortPathName(FileName, ShortFileName, Len(ShortFileName))
FileName = Left$(ShortFileName, RetVal)

'Открываем файл
CommandString = "Open " & FileName & " type AVIVideo alias AVIFile parent " _
& CStr(Window.hWnd) & " style " & CStr(WS_CHILD)
RetVal = mciSendString(CommandString, vbNullString, 0, 0&)
If RetVal Then GoTo error

'Запоминаем, что файл открыт
deviceIsOpen = True

'Изменяем размеры видио в соответствии с Picture
CommandString = "put AVIFile window at 0 0 " & CStr(Window.ScaleWidth / _
Screen.TwipsPerPixelX) & " " & CStr(Window.ScaleHeight / _
Screen.TwipsPerPixelY)
RetVal = mciSendString(CommandString, vbNullString, 0, 0&)
If RetVal <> 0 Then GoTo error

'Проигрываем файл
CommandString = "Play AVIFile wait"
RetVal = mciSendString(CommandString, vbNullString, 0, 0&)
If RetVal <> 0 Then GoTo error

'Закрываем файл
CommandString = "Close AVIFile"
RetVal = mciSendString(CommandString, vbNullString, 0, 0&)
If RetVal <> 0 Then GoTo error

Exit Sub

error:
' Ошибки...
Dim ErrorString As String
ErrorString = Space$(256)
mciGetErrorString RetVal, ErrorString, Len(ErrorString)
ErrorString = Left$(ErrorString, InStr(ErrorString, vbNullChar) - 1)

'закрываем в случае необходимости
If deviceIsOpen Then
CommandString = "Close AVIFile"
mciSendString CommandString, vbNullString, 0, 0&
End If
Err.Raise 999, , ErrorString
End Sub
Кто пил один и втихомолку, тот век земной прожил без толку...

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 16.01.2006 (Пн) 15:22

Конкретнее можно? ;) У меня все прекрасно работает.
То, что для одних константа, для других только переменная...

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 16.01.2006 (Пн) 16:20

const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 16.01.2006 (Пн) 16:43

Дааааа. Прикольный класс. Интересно, можно ли его присобачить к DirectDraw? Нужно попробовать...
То, что для одних константа, для других только переменная...

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 16.01.2006 (Пн) 18:20

Интересно, а можно ли заставить MCI рисовать непосредственно на заданном DC?
То, что для одних константа, для других только переменная...

Mario
Новичок
Новичок
Аватара пользователя
 
Сообщения: 43
Зарегистрирован: 19.10.2005 (Ср) 13:23
Откуда: Из Новосиба

Сообщение Mario » 17.01.2006 (Вт) 10:10

У меня пишет что невозможно воспроизвести файл! Типа не найдена система распаковки "vids"
Может ошибка не в коде а моей бошке?!
Просто в wind'e чего не хватает...
Кто пил один и втихомолку, тот век земной прожил без толку...

Mario
Новичок
Новичок
Аватара пользователя
 
Сообщения: 43
Зарегистрирован: 19.10.2005 (Ср) 13:23
Откуда: Из Новосиба

Сообщение Mario » 17.01.2006 (Вт) 10:20

Все я разобрался!!!
Всем спасибо....
Кто пил один и втихомолку, тот век земной прожил без толку...


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

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

Сейчас этот форум просматривают: Google-бот и гости: 138

    TopList