Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
9 / 9 / 3
Регистрация: 30.11.2015
Сообщений: 64
1

Отловить окончание воспроизведения видео

23.01.2016, 14:43. Показов 1356. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как узнать когда закончится видео и закрыть форму?
Использую Microsoft.DirectX.AudioVideoPlayback.Video
https://msdn.microsoft.com/en-... 02629.aspx
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2016, 14:43
Ответы с готовыми решениями:

Отловить окончание процеса архивации файлов
Прошу подсказать как решить мою проблему. Алгоритм программы такой (часть нужная для обсуждения):...

Как отловить окончание проигрывания мелодии?
Доброго всем времени суток! Помогите отловить момент окончания проигрывания мелодии. В...

Воспроизведения видео с IP камер по RTSP
Привет всем. Много гуглил не нашел по vb.net толком ничего. Может у кого есть примеры...

Отправка воспроизведения видео на другие устроиства (так называемая "Трансляция")
Доброго времени суток! В общем есть приложение в котором можно просматривать видео с вк, просмотр...

11
Модератор
Эксперт .NET
4205 / 3288 / 498
Регистрация: 27.01.2014
Сообщений: 6,041
23.01.2016, 15:09 2
godred2,
Ending - Occurs when the playback is ending.
читайте литературу внимательнее
0
9 / 9 / 3
Регистрация: 30.11.2015
Сообщений: 64
23.01.2016, 17:28  [ТС] 3
Форумчане, как использовать это событие Ending для того чтобы узнать когда видео закончилось?
https://msdn.microsoft.com/en-... 02629.aspx
0
Модератор
Эксперт .NET
4205 / 3288 / 498
Регистрация: 27.01.2014
Сообщений: 6,041
23.01.2016, 18:02 4
попробую щас отвечу

Добавлено через 15 минут
godred2, вот так:

VB.NET
1
2
3
4
5
6
7
8
Imports Microsoft.DirectX.AudioVideoPlayback
Public Class Form1
    Dim WithEvents dxVideo As New Video("video.mp4")
 
    Sub VideoEnded() Handles dxVideo.Ending
        MsgBox("Video остановлено")
    End Sub
End Class
2
9 / 9 / 3
Регистрация: 30.11.2015
Сообщений: 64
23.01.2016, 18:16  [ТС] 5
Yury Komar, Спасибо, теперь пробую прикрутить это к своему коду
0
Модератор
Эксперт .NET
4205 / 3288 / 498
Регистрация: 27.01.2014
Сообщений: 6,041
23.01.2016, 18:22 6
Лучший ответ Сообщение было отмечено godred2 как решение

Решение

godred2, можешь вместо отдельной процедуры просто добавить Хэндлера на FormClosing, ведь тебе надо закрыть окно при окончании воспроизведения.
VB.NET
1
2
3
4
5
6
7
8
Imports Microsoft.DirectX.AudioVideoPlayback
Public Class Form1
    Dim WithEvents dxVideo As New Video("video.mp4")
 
    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing, dxVideo.Ending
 
    End Sub
End Class
2
9 / 9 / 3
Регистрация: 30.11.2015
Сообщений: 64
23.01.2016, 20:14  [ТС] 7
Yury Komar,
Эх, попробовал...Не работает...
Вот мой код:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Imports Microsoft.DirectX.AudioVideoPlayback
 
Public Class Form3
    Dim plr As Video
    Dim file As String
 
    Private Sub Form3_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        Me.Close()
        End
    End Sub
 
    Sub VideoEnded() Handles dxVideo.Ending
        End
    End Sub
 
    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.WindowState = FormWindowState.Maximized
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
        Me.TopMost = True
        PictureBox1.MaximumSize = PictureBox1.Size
        PictureBox1.MinimumSize = PictureBox1.Size
        file = Application.StartupPath & "" & "vid.mp4"
        plr = New Video(file)
        plr.Owner = PictureBox1
        plr.Size = PictureBox1.Size
        plr.Play()
    End Sub
 
    Dim WithEvents dxVideo As New Video(Application.StartupPath & "" & "vid.mp4")
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles Me.FormClosing, dxVideo.Ending
 
    End Sub
 
End Class
0
Модератор
Эксперт .NET
4205 / 3288 / 498
Регистрация: 27.01.2014
Сообщений: 6,041
23.01.2016, 20:23 8
Вы объявляете dxVideo а само видео запускаете в PLR... вы сами то понимаете что вы делаете?

Добавлено через 4 минуты
Замените строки 23,24,25,26 на это:
VB.NET
1
2
3
        dxVideo.Owner = PictureBox1
        dxVideo.Size = PictureBox1.Size
        dxVideo.Play()
0
9 / 9 / 3
Регистрация: 30.11.2015
Сообщений: 64
23.01.2016, 20:24  [ТС] 9
Yury Komar, Ахахахаах...Ухаахах... Я только что это понял...Вот прям миг назад... У меня ночь... Код исправил...
Все работает! СПАСИБО
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Imports Microsoft.DirectX.AudioVideoPlayback
 
Public Class Form3
    Dim WithEvents plr As Video
    Dim file As String
 
    Private Sub Form3_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        Me.Close()
        End
    End Sub
 
    Sub VideoEnded() Handles plr.Ending
        End
    End Sub
 
    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.WindowState = FormWindowState.Maximized
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
        Me.TopMost = True
        PictureBox1.MaximumSize = PictureBox1.Size
        PictureBox1.MinimumSize = PictureBox1.Size
        file = Application.StartupPath & "" & "vid.mp4"
        plr = New Video(file)
        plr.Owner = PictureBox1
        plr.Size = PictureBox1.Size
        plr.Play()
    End Sub
 
    ' Dim WithEvents dxVideo As New Video(Application.StartupPath & "" & "vid.mp4")
    Private Sub Form3_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles Me.FormClosing, plr.Ending
 
    End Sub
 
End Class
0
Модератор
Эксперт .NET
4205 / 3288 / 498
Регистрация: 27.01.2014
Сообщений: 6,041
23.01.2016, 20:29 10
Ну или так

Добавлено через 3 минуты
Только вот это
VB.NET
1
2
3
Private Sub Form3_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles Me.FormClosing, plr.Ending
 
    End Sub
И вот это
VB.NET
1
2
3
4
Private Sub Form3_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        Me.Close()
        End
    End Sub
Здесь лишнее, получается масло масленное... удалите смело.
0
9 / 9 / 3
Регистрация: 30.11.2015
Сообщений: 64
23.01.2016, 20:32  [ТС] 11
Yury Komar, Знаю
Это я на этом проекте учусь новому просто
0
Модератор
Эксперт .NET
4205 / 3288 / 498
Регистрация: 27.01.2014
Сообщений: 6,041
23.01.2016, 20:34 12
godred2, ааа. Ну тогда понятно. Успехов в учёбе
0
23.01.2016, 20:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2016, 20:34
Помогаю со студенческими работами здесь

Отловить окончание воспроизведения в WindowsMediaPlayer
Добрый день. Столкнулся со следующей проблемой. В программе для отображения видео использую...

Отследить окончание воспроизведения
Всем привет. При работе с аудио возникла необходимость запустить аудио-файл и по его окончании...

Как отловить окончание загрузки файла
Доброго времени суток, я хотел узнать как для данной функции отловить окончание загрузки файла,...

mciSendString отловить момент окончания воспроизведения
Доброго времени суток! Мне необходимо отловить событие остановки воспроизведения файла,...


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

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