С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/41: Рейтинг темы: голосов - 41, средняя оценка - 4.98
44 / 44 / 4
Регистрация: 30.04.2011
Сообщений: 283
1

Как воспроизвести видео в PictureBox

24.06.2011, 21:52. Показов 8452. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как воспроизвести програмно видео средствами VB. NET?
Погуглил, нашел это:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
    Const WS_CHILD As Integer = &H40000000
 
    Private Sub PlayMedia(ByRef FileName As String, ByVal Window As Control)
        FileName = Chr(34) & FileName & Chr(34)
        mciSendString("Open " & FileName & " alias MediaFile parent " & CStr(Window.Handle.ToInt32) & " style " & CStr(WS_CHILD), Nothing, 0, 0)
        mciSendString("put MediaFile window at 0 0 " & CStr(PixelToTwip(Window.ClientRectangle.Width) / 15) & " " & CStr(PixelToTwip(Window.ClientRectangle.Height) / 15), Nothing, 0, 0)
        mciSendString("Play MediaFile", Nothing, 0, 0)
    End Sub
 
    Private Function PixelToTwip(ByVal Pixel As Integer) As Double
        Return Pixel * 15
    End Function
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
        PlayMedia("C:\stalker(Treiler).avi", PictureBox1)
    End Sub
Но при нажатии на кнопку просто ни чего не происходит.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2011, 21:52
Ответы с готовыми решениями:

Как воспроизвести видео?
Добрый день, изучив форум и попробовал некоторые варианты не получил желаемого результата. Вопрос:...

Как воспроизвести видео на форме и сделать с него скриншот
Конкретно сейчас меня интересует только лишь возможность проигрывания видео прямо внутри формы (то...

Как воспроизвести видео на форме
Нужно что бы по нажатию кнопки просто запускалось видео без всяких красивостей.

Воспроизвести видео, как заставку
Делаем с другом игру...нужно воспроизвести видео , как заставку ...в начале программы. как это...

14
559 / 436 / 21
Регистрация: 16.12.2010
Сообщений: 953
25.06.2011, 09:34 2
Зачем так изощряться? DirectX вам в помощь
http://msdn.microsoft.com/en-u... 02629.aspx
0
44 / 44 / 4
Регистрация: 30.04.2011
Сообщений: 283
25.06.2011, 10:06  [ТС] 3
Можно примерчик?
Я пробовал так, но пишет ошибку:
VB.NET
1
2
3
4
5
6
7
8
9
10
Imports Microsoft.DirectX.AudioVideoPlayback
Public Class Form1
    Dim Video As Microsoft.DirectX.AudioVideoPlayback.Video
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Video = New Video("C:\Documents and Settings\диман\Мои документы\All for S.T.A.L.K.E.R.(SHOC)(STCS)(COP)\Videos\stalker(Treiler).avi")
        Video.FromFile("C:\Documents and Settings\диман\Мои документы\All for S.T.A.L.K.E.R.(SHOC)(STCS)(COP)\Videos\stalker(Treiler).avi")
        Video.Play()
    End Sub
End Class
0
6287 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
25.06.2011, 10:15 4
А можно узнать, что говорит ошибка?

Добавлено через 3 минуты
Owner нужно установить. Это компонент на котором будет проигрываться видео.
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
25.06.2011, 10:17 5
Dim1One,
Можно оставить первую строку, вторая строка по сути повторяет первую
VB.NET
1
2
Video = New Video("C:\Documents and Settings\диман\Мои документы\All for S.T.A.L.K.E.R.(SHOC)(STCS)(COP)\Videos\stalker(Treiler).avi")
        Video.FromFile("C:\Documents and Settings\диман\Мои документы\All for S.T.A.L.K.E.R.(SHOC)(STCS)(COP)\Videos\stalker(Treiler).avi")
Чтобы увидеть видео, нужно некоторый контрол, ассоциированный с этим видео, где видео будет восроизводиться.
То есть надо, например, добавить какой-нибудь контрол - допустим, PictireBox c именем PictireBox1, тогда код для воспроизведения видео будет выглядеть так
VB.NET
1
2
3
Video1 = New Video("C:\Documents and Settings\диман\Мои документы\All for S.T.A.L.K.E.R.(SHOC)(STCS)(COP)\Videos\stalker(Treiler).avi")
        Video1.Owner = PictureBox1
        Video1.Play()
0
44 / 44 / 4
Регистрация: 30.04.2011
Сообщений: 283
25.06.2011, 11:23  [ТС] 6
VB.NET
1
2
3
4
5
6
7
8
9
10
Imports Microsoft.DirectX.AudioVideoPlayback
Public Class Form1
    Dim Video As Microsoft.DirectX.AudioVideoPlayback.Video
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Video = New Video("C:\Documents and Settings\диман\Мои документы\All for S.T.A.L.K.E.R.(SHOC)(STCS)(COP)\Videos\stalker(Treiler).avi")
        Video.Owner = PictureBox1
        Video.Play()
    End Sub
End Class
Ошибка во втором вложении. Подчеркивает строку:
VB.NET
1
Video = New Video("C:\Documents and Settings\диман\Мои документы\All for S.T.A.L.K.E.R.(SHOC)(STCS)(COP)\Videos\stalker(Treiler).avi")
Если не убирать галочку c Debug->Exceptions->LoaderLock, то ошибка будет другая(см. первое вложение)
Миниатюры
Как воспроизвести видео в PictureBox   Как воспроизвести видео в PictureBox  
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
25.06.2011, 11:30 7
Добавь файл конфигурации
XML
1
2
3
4
5
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>
0
44 / 44 / 4
Регистрация: 30.04.2011
Сообщений: 283
25.06.2011, 12:02  [ТС] 8
А как добавить файл конфигурации? Я жму Project->Add New Item и там нет ни чего похожего на конфигурационный файл.
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
25.06.2011, 12:05 9
Пункт Application Configuration File
0
44 / 44 / 4
Регистрация: 30.04.2011
Сообщений: 283
25.06.2011, 12:14  [ТС] 10
У меня нет такого пункта(см. вложение)
Это из-за того, что у меня Express Edition?
Миниатюры
Как воспроизвести видео в PictureBox  
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
25.06.2011, 12:23 11
У меня тоже express только 2010. Кстати конфиг надо добавлять для NET 4.0, для предыдущих версий не надо. А у тебя явно не 2010 и под NET 4.0 ты вряд ли можешь компилировать. Значит проблема в другом.
0
559 / 436 / 21
Регистрация: 16.12.2010
Сообщений: 953
25.06.2011, 14:32 12
Лучший ответ Сообщение было отмечено как решение

Решение

Ну вот, что-то набросал, пробуй!
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Class Form1
    Dim plr As Microsoft.DirectX.AudioVideoPlayback.Video
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim FD As New Windows.Forms.OpenFileDialog
        FD.Filter = "МУВИКИ|*.avi"
        FD.Title = "www.CyberForum.ru"
        FD.ShowDialog()
        Try
            plr.Dispose()
        Catch ex As Exception
 
        End Try
        If FD.FileName <> "" Then
            plr = New Microsoft.DirectX.AudioVideoPlayback.Video(FD.FileName)
            plr.Owner = PictureBox1
            plr.Play()
        End If
    End Sub
P.S. У меня все воспроизводит замечательно? если режиме компилятора, есkи в режиме дебагера, то вылезет ошибку, но можно нажать F5 и она пропадет
Вложения
Тип файла: rar VIDEO_PLR.rar (43.0 Кб, 287 просмотров)
5
44 / 44 / 4
Регистрация: 30.04.2011
Сообщений: 283
25.06.2011, 16:46  [ТС] 13
Ciberst, спасибо, заработало!
0
2 / 2 / 0
Регистрация: 15.04.2015
Сообщений: 16
20.02.2016, 22:24 14
у меня пишет в коде объявления переменной: Тип "Microsoft.DirectX.AudioVideoPlayback.Video" не определён, хотя DirectX установлен
0
307 / 248 / 40
Регистрация: 28.09.2013
Сообщений: 600
21.02.2016, 18:29 15
Цитата Сообщение от Vb-vbnz Посмотреть сообщение
хотя DirectX установлен
Наверняка нужен не просто директ, а SDK

Добавлено через 50 секунд
и в ссылках нужно прописывать используемые пространства имен
0
21.02.2016, 18:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2016, 18:29
Помогаю со студенческими работами здесь

Как воспроизвести видео на форме?
Как воспроизвести видео на форме?

Как воспроизвести видео из интернета
Вообщем то вот и вопрос. Добавлено через 4 минуты Допустим есть сайт а мне надо чтобы только...

Как воспроизвести видео Delphi 7
Привет всем. Стоит задача воспроизвести видио формата, к примеру, mp4, использовав приложения...

Как можно воспроизвести видео
Я хочу что бы мне воспроизводилось видео, а если на него нажмет пользователь то был бы сделан...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru