Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
4 / 4 / 1
Регистрация: 14.08.2012
Сообщений: 22
1

Как дать команду ждать конца воспроизведения плеера

14.08.2012, 02:46. Показов 1463. Ответов 8
Метки нет (Все метки)

О Великие гуру программирования! помогите новичку!
Необходимо, что бы программа ждала конца воспроизведения файла плеером, и только потом продолжала выполнять действия. например:

VB.NET
1
2
3
4
5
6
7
8
9
Dim n As Double
    Sub Воспроизведение()
 
        n = 5
        If n > 0 Then
            Player1.Ctlcontrols.play()
        End If
        n = n - 1
    End Sub
если так, то плеер играет только один раз а "n" к концу воспроизведения равен нулю.
просто задать значение счетчику воспроизведения плеера не подходит, так как необходимо отображать, сколько повторений воспроизведения еще осталось.
Может, конечно в принципе не правильно...
задача: воспроизводить звуковой файл заданное количество раз, и отображать сколько раз еще осталось.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.08.2012, 02:46
Ответы с готовыми решениями:

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

Ждать до конца выполнения exe, открываемого из excel
Помогите пожалуйста: открываю EXE файл и хочу, чтобы следующее действие выполнялось после того,...

Задать команду в COM-порт, ждать 500мс и посмотреть ответ
Всем привет! Кстати, мой первый пост на этом форуме. И так, реализовал работу с портом, все...

"Убить" процесс плеера по окончании воспроизведения файла
Подскажите, как закрыть плеер после воспроизведения файла, если файл открыт программой по...

8
Заблокирован
14.08.2012, 07:06 2
Vova451, давай для начала определимся с разделом!
Player1.Ctlcontrols.play
- кучка незнакомых слов наводит на мысль, что мы говорим на разных языках.
А потому тему отправляю сюда

А по сути вопроса - здесь напрашивается цикл с условием, а не простой If.
Т.е. как-то так:
VB.NET
1
2
3
4
5
n=5
do while n>0
  Player1.Ctlcontrols.play()
  n=n-1
loop
А ещё проще через for ... next, наверно?
0
4 / 4 / 1
Регистрация: 14.08.2012
Сообщений: 22
14.08.2012, 11:55  [ТС] 3
VB.NET
1
2
3
4
5
n=5
do while n>0
  Player1.Ctlcontrols.play()
  n=n-1 
loop
та же проблема строку n-1 необходимо выполнить только после окончания воспроизведения плеера.
должна быть, видимо промежуточная команда "подождать пока плеер не достигнет конца воспроизведения".
что то вроде:
VB.NET
1
2
3
4
5
6
7
8
n=5
do while n>0
  Player1.Ctlcontrols.play()
 'ждем пока плеер воспроизводит. 
 'либо пауза равная длине воспроизводимого файла
 'либо ждем пока плеер не будет в состоянии стоп.
  n=n-1
loop
0
11 / 11 / 0
Регистрация: 04.08.2012
Сообщений: 16
14.08.2012, 12:37 4
Vova451, салют.
Попробуйте определить длительность воспроизводимого трека (в секундах).
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
n = 5
If n > 0 Then
   Player1.Ctlcontrols.play()
   Timer1.Enabled = True
End If
Private Sub Timer1.Tick()
   Dim t As Integer = 0
   t += 1
   If t >= длительность трека Then
       n -= 1
       GoTo на первый If
       Timer1.Enabled = False
   End If
End Sub
И не забудьте про свойство Interval таймера.
1
4 / 4 / 1
Регистрация: 14.08.2012
Сообщений: 22
14.08.2012, 13:04  [ТС] 5
Цитата Сообщение от vb.net Посмотреть сообщение
Vova451, салют.
Попробуйте определить длительность воспроизводимого трека (в секундах).
Идея хорошая! Сенк!
длительность трека каждый раз будет разная. так как файл для воспроизведения выбирается пользователем. Пока не нашел, как длительность можно определить при загрузке нового трека. Может кто знает?
0
1689 / 1178 / 226
Регистрация: 23.12.2010
Сообщений: 1,515
14.08.2012, 15:42 6
Цитата Сообщение от Vova451 Посмотреть сообщение
Player1
а что это за объект такой вообще? Начинать надо с этого
0
4 / 4 / 1
Регистрация: 14.08.2012
Сообщений: 22
14.08.2012, 16:21  [ТС] 7
Цитата Сообщение от Юпатов Дмитрий Посмотреть сообщение
а что это за объект такой вообще? Начинать надо с этого
Player1 это AxWindowsMediaPlayer1
0
1689 / 1178 / 226
Регистрация: 23.12.2010
Сообщений: 1,515
14.08.2012, 18:25 8
ну у него есть свойство PlayState - по нему можно проверять состояние плеера (проигрывает, на паузе.....), также есть куча событий, например PlayStateChange - происходит при изменении свойства PlayState (начал проигрывать, стал на паузу, остановился.....) вот в нем пусть и выполняется код, который должен выполняться после окончания проигрывания...
Есть также свойство CurrentMedia, а у него, в свою очередь, свойство duration (обычно это длина трека в секундах)
Господи, да там куча всего есть!

И следующий вопрос - для чего это надо?
1
4 / 4 / 1
Регистрация: 14.08.2012
Сообщений: 22
14.08.2012, 22:21  [ТС] 9
Цитата Сообщение от Юпатов Дмитрий Посмотреть сообщение

И следующий вопрос - для чего это надо?
Для обучения попугая разговору .
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.08.2012, 22:21

Для того, что бы смотреть видео онлайн без торможения, приходятся ждать, пока оно до конца загрузится
Такс. ну проблемы с виндой прошли как удалил прогу.... Только видео воспроизводилось нормально...

При движении объекта непосредственно по тексту, если дать команду cls, то объект оставит след
при движении объекта НЕПОСРЕДСТВЕННО по тексту если дать команду cls то объект оставит след , как...

Подскажите команду для строк, которая забирает слово до пробела, а не до конца всей строки
Ребят, подскажите команду для строк которая забирает слово до пробела, а не до конца всей строки.

Вызвать консольное приложение C# из проекта winforms и дать команду завершения также из winforms
Добрый день ! у меня есть проект на C# на winforms. я написал также консольное приложение на...

Как ждать subscribe?
import { Injectable } from '@angular/core'; import { HttpRequest, HttpHandler, HttpEvent,...

Как долго ждать?
Всем привет. Около месяца назад разместил сайт в гугле. До сих пор ни одна страница в нем не...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru