Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AVI & PictureBox, существует ли способ.... 
:(
    Опции темы
Гость_soy
Дата 19.8.2005, 22:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











существует ли способ проиграть AVI'шный файл в PictureBox.
Желательно в API.
  Вверх
cardinal
Дата 20.8.2005, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



А почему именно в PictureBox?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Kergan
Дата 20.8.2005, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.8.2005

Репутация: 3
Всего: 5



Добрый день.
Подключите к программе компонент MMControl.
на клик кнопки повесьте такой код:
Код

MMControl1.DeviceType="AVIVideo" 'чтоб проигрывать AVI
MMControl1.Wait = true 
'Прога будет ждать, пока фай проиграется до конца, а потом  продолжит операции, если они есть; в зависимости от задачи может и false
MMControl1.FileName = Ima_Tvoego_Fila
MMControl1.command = "Open"
MMControl1.Hwnddisplay = picture1.hwnd ' чтобы играл в пиктурбоксе
'Дальше можно проиграть использую кнопку play контрола или таким кодом
mmcontrol1.command = "Play"
'перед сменой имени файло иливыходом воспользуйся
mmcontrol1.command = "Close"
'и вот команда для остановки
mmcontrol1.command = "Stop"
'Для доп информации поройся в статьях о MMControl Там тоже есть тонкости. Удачи

Добавлено @ 19:57
зы Извините, но с API очень трудоемко и не факт что будеть работать на всех windows. Читал в рекомендациях MSDN.
--------------------
Была у меня дурацкая подпись...Я ее убрал, а новую еще не придумал. :(
PM MAIL ICQ   Вверх
Gannibal
Дата 24.8.2005, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



как в PictureBox проиграть незнаыу АПИ нашёл такую
Код

Option Explicit
    Private Declare Function mciExecute _
    Lib "winmm.dll" (_
    ByVal lpstrCommand As String _
    ) As Long
    Private Sub Form_Click()
    Dim x
    x = mciExecute("Play D:\Funstuff\Videos\Welcome1.avi")
    'Change filename to name of your sample AVI file
    End Sub
    The Multimedia MCI Control
    Option Explicit
    Private Sub Form_Click()
    With mciTest
    .FileName = "D:\Funstuff\Videos\Welcome1.avi"
    .Command = "Open"
    .Command = "Play"
    End With
    End Sub
    Private Sub mciTest_Done(NotifyCode As Integer)
    mciTest.Command = "Close"
    End Sub



--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
efedron
Дата 24.8.2005, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 16.3.2005

Репутация: 4
Всего: 4



avi файл в picturebox можно, если ты определишь средства и алгоритм, которые позволят тебе последовательно получать картинки из avi файла, а для каждого avi свои средства декомпрессии.
--------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений.
PM MAIL   Вверх
SOY
Дата 25.8.2005, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 30.10.2004

Репутация: 1
Всего: 1



MMControl проигрывает только не сжатый AVI'шник, а мне надо сжатый DivX'ом.
mciSendString тоже играет не сжатые файлы, хотя в принципе должна. В ней используются строковые параметры которые как я думаю и влияют на это.

PM MAIL   Вверх
efedron
Дата 26.8.2005, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 16.3.2005

Репутация: 4
Всего: 4



SOY
mciSendString проигрывает сжатые файлы при условии, что у него "правильное" расширение и соответствующий декомпрессор установлен в системе. Проверено собственноручно. smile
--------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений.
PM MAIL   Вверх
SOY
Дата 27.8.2005, 01:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 30.10.2004

Репутация: 1
Всего: 1



Мот тогда кинеш рабочий исходник ? Да, ни кто не знает где найти описание всех строковых параметров для mciSendString?
PM MAIL   Вверх
efedron
Дата 29.8.2005, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 16.3.2005

Репутация: 4
Всего: 4



SOY
исходник - две строки:
Код

Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Private Sub Command1_Click()
mciSendString "PLAY c:\1.avi", vbNullString, 0, Me.hWnd
End Sub

а вотописание всех строковых параметров не знаю...как-то натыкался однажды на некоторые, но, к сожалению, потерял, в справке по API от дельфи и в мсдэене по человечески ничего не написано, хотя, мож, и плохо искал...
--------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений.
PM MAIL   Вверх
Gannibal
Дата 11.9.2005, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



модуль

Код

Const WS_CHILD = &H40000000

Private Declare Function mciSendString Lib "winmm.dll" Alias _
    "mciSendStringA" (ByVal lpstrCommand As String, _
    ByVal lpstrReturnString As String, ByVal uReturnLength As Long, _
    ByVal hwndCallback As Long) As Long


прога
Код

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
        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

Použití:
Private Sub Command1_Click() 

   PlayAVIPictureBox "c:\winnt\clock.avi", Picture1 

End Sub 


может в ФАК добавить?

Это сообщение отредактировал(а) M.E.G.U.S - 11.9.2005, 12:05


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
efedron
Дата 12.9.2005, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 16.3.2005

Репутация: 4
Всего: 4



M.E.G.U.S
ты лучше скажи где взять список ВСЕХ команд и параметров этой функции (с описанием естессно) smile
--------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений.
PM MAIL   Вверх
Gannibal
Дата 12.9.2005, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



Цитата(efedron @ 12.9.2005, 10:37)
M.E.G.U.S
ты лучше скажи где взять список ВСЕХ команд и параметров этой функции (с описанием естессно) 


а в интернете посмотреть описание библиотеки "winmm.dll" ???


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
~FoX~
Дата 13.9.2005, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68





--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
efedron
Дата 14.9.2005, 07:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 16.3.2005

Репутация: 4
Всего: 4



~FoX~
вот возьми и посмотри в msdn, много ты там найдешь по этой функции?
--------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений.
PM MAIL   Вверх
~FoX~
Дата 14.9.2005, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



Цитата(efedron @ 14.9.2005, 08:19)
вот возьми и посмотри в msdn, много ты там найдешь по этой функции?

А ссылку я по твоему куда дал? smile

Цитата

mciSendString

The mciSendString function sends a command string to an MCI device. The device that the command is sent to is specified in the command string.


Цитата
Multimedia Command Strings

The following command strings are used with multimedia.

break
capability
capture
close
configure
copy
cue
cut
delete
escape
freeze
index
info
list
load
...............
.............

Со всеми описаниями и т.д., правда на инглише...

Это сообщение отредактировал(а) ~FoX~ - 14.9.2005, 08:19


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0539 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.