Модераторы: diadiavova, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WMP в VB.NET, помогите разобраться начинающему. 
V
    Опции темы
alexlutz
Дата 1.10.2009, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



diadiavova

Сформировал вручную с помощью WMP плейлист, дал иму имя и поместил в ту же папку, где медиафайлы. Плейлист - файл с расширением wpl. Имя плеера в форме Player1. Код Player1.URL="полное имя медиа" высвечивает внизу строку Connection и проигрывает медиа. Код Player1.URL="полное имя плейлист" высвечивает пустой экран WMP, который висит, причем на нем внизу строка Ready.

alexlutz
PM MAIL   Вверх
diadiavova
Дата 1.10.2009, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Я сейчас попробовал - всё работает. Однако, если ты сформировал плэйлист, а потом переместил его, то удивляться нечему - в плейлисте указаны относительные адреса.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
alexlutz
Дата 1.10.2009, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



diadiavova

Ура! Таки заработало.

Как же ты догадался, что я сохранил плейлист не в папке по умолчанию, а в другой, удобной для себя? 

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

Неудобно тебя эксплуатировать по мелочам, но, может, напишешь с ходу, по какому принципу WMP выбирает папку для файла плейлист. Я ведь составлял этот плейлист из медиафайлов, кот. лежат в одной папке, а плейлист по умолчанию сохраняется совсем в другой. По какой-то иронии он сохраняется в папке, кот. у меня имеет имя MYCOP и служит для соответствующих целей.

С искренним признанием за помощь, 
alexlutz


PM MAIL   Вверх
diadiavova
Дата 1.10.2009, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Цитата(alexlutz @  1.10.2009,  12:04 Найти цитируемый пост)
Как же ты догадался, что я сохранил плейлист не в папке по умолчанию, а в другой, удобной для себя? 
Первое, что пришло в голову, когда у меня всё заработало smile 

Что до остального, плейлисты устроены довольно просто, сохрани какой-нибудь в разных форматах и просмотри в любом текстовом редакторе. В частности wpl - формат, основанный на xml а с m3u всё ещё проще. В принципе, разобравшись как они устроены сможешь сам их сформировать. Если мне не изменяет память, то m3u будет работать, даже если это будет просто список адресов, каждый на отдельной строке.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
alexlutz
Дата 1.10.2009, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



diadiavova

Спасибо ещу раз. Теперь есть с чем разбираться. Когда справлюсь с меню, сообщу на форум. Может, кому-то пригодится.

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


Новичок



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

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



diadiavova

Приходится снова просить о помощи.
С wpl-файлами я разобрался. 
И проигрываются они кодом Player.URL= "абсолютный адрес wpl-файла", один за другим, как и надо.
Но есть одно препятствие, которое не позволяет использовать список. Нет окончания проигрывания списка. Когда проигрывается единственный файл, я использую событие PlayStateChange, чтобы закрыть окно плеера и тем самым открыть окно меню. Написал код типа

Код

Private Sub Player_PlayStateChange(ByVal sender As Object, _
                                           ByVal e As  _
                                           AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) _
                                           Handles Player.PlayStateChange
        Select Case e.newState
             Case WMPLib.WMPPlayState.wmppsPlaying     'Воспроизводится файл.
                               ...
             Case WMPLib.WMPPlayState.wmppsMediaEnded   'Конец файла
                   Me.Close()      'Закрывает окно с плеером, тем самым открывает окно меню.
        End Select
End Sub


Если идет список, окно с плеером закрываеся в конце первого же файла из списка. Поэтому у меня вопрос: с каким событием связать завершение показа списка, чтобы закрыть окно с плеером в конце последнего файла списка?

Я понимаю, что действую по принципу "дайте попить, а-то так есть хочется, аж переночевать негде". Но все же надеюсь на помощь.

alexlutz

Это сообщение отредактировал(а) diadiavova - 2.10.2009, 12:43
PM MAIL   Вверх
diadiavova
Дата 2.10.2009, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



alexlutz, я не спец по плееру, но немного покопавшись обнаружил там свойство settings, у которого в свою очередь есть свойство playCount. Я бы копнул в этом направлении smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
alexlutz
Дата 2.10.2009, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



diadiavova
Спасибо, буду копать.
alexutz
PM MAIL   Вверх
alexlutz
Дата 3.10.2009, 06:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



diadiavova

Нашел простое решение. В Sub Player_PlayStateChange, в случае списка, по окончании его проигрывания, WMPLib.WMPPlayState.wmppsReady = true (в случае 1 файла всегда false). Поэтому для случаев списка надо в операторе Case заменить параметр wmppsMediaEnded на wmppsReady.

У меня есть еще вопрос общего плана. Моя программа построена так, что каждая кнопка меню при кликанье вызывает код типа 
Код

Dim frmShowI As New fclsShowI()
frmShowI.Show()

Реально вместо I стоят цифры 1, 2..., для каждой кнопки своя. Формы fclsShowI, содержащие Player, я клонирую в редакторе VB .NET, причем тупо для каждой кнопки меню свою. Единственное их отличие между собой состоит в том, что в Sub Player_Enter, в коде Player.URL = "адрес I-го медиа", эти адреса разные. 
Как можно сделать вместо этих клонов одну форму?

alexlutz

Это сообщение отредактировал(а) alexlutz - 3.10.2009, 06:39
PM MAIL   Вверх
diadiavova
Дата 3.10.2009, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



На форме, содержащей плеер создай свойство, в котором будет находиться адрес текущего медиафайла. Саму форму создай один раз но не внутри метода, а на уровне класса. В обработчике кликов присваивай новому свойству формы адрес файла и запускай форму.
Для того, чтобы форма не уничтожалась при закрытии в неё надо добавить обработчик события Closing с таким кодом
Код

Sub Form_Closing(ByVal sender As Object, ByVal e As CancelEventArgs) Handles Me.Closing
    e.Cancel = True
    Me.Hide()
End Sub




--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
alexlutz
Дата 3.10.2009, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



diadiavova

Да... Для новичка сложновато.
Но попробую разобраться. Спасибо.

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


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Да сопсно...

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  ShowForm.rar 64,87 Kb


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
OhMyGod
  Дата 21.6.2010, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А что означает ошибка InvalidActiveXStateException  в строке, где я путь прописываю?

PM MAIL   Вверх
sergovano
Дата 27.8.2014, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(diadiavova @ 3.10.2009,  11:55)
Да сопсно...

Здравствуйте. Похоже эта проблема с плеером идёт из года в год ) Изучаю самостоятельно VB.Net по книге Лукина и есть затруднение. Не могу разобраться как прописать свойство кнопке. Пробую как в учебнике, в принципе всё понятно и всё получалось пока не дошел до Windows Плеера. Кнопки Воспроизведение Файла и Остановка Файла  работают, опять же не с тем кодом (AxWindowsMediaPlayer1.URL = "D:\VB\Player\....mp3") вместо объекта Плеер., который в книге. Код высмотрел на одном ресурсе, попробовал этим кодом прописать другое свойство, другой кнопке - быстрого воспроизведения, VS-2012 пишет ошибку. Подскажите как исправить, желательно с комментариями, почему так. Скрины и проект прикрепляю. But1 - воспроизведение файла, But2 - остановка файла, But3 - ускоренное воспроизведение. Файлы почему то не прикрепляются...

Это сообщение отредактировал(а) sergovano - 27.8.2014, 22:37
PM MAIL   Вверх
diadiavova
Дата 27.8.2014, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Цитата(sergovano @  27.8.2014,  23:34 Найти цитируемый пост)
Изучаю самостоятельно VB.Net по книге Лукина

Это она?
http://www.ozon.ru/context/detail/id/2293518/
2005 год? Плохая идея.
Цитата(sergovano @  27.8.2014,  23:34 Найти цитируемый пост)
(AxWindowsMediaPlayer1.URL = "D:\VB\Player\....mp3") вместо объекта Плеер., который в книге.

К объекту плеера надо обращаться по тому имени, которое сам ему назначишь (свойство Name), если этого не делаешь, то имя назначается автоматически, по всей видимости автор переименовал плеер, а ты этого не сделал.
Цитата(sergovano @  27.8.2014,  23:34 Найти цитируемый пост)
 Код высмотрел на одном ресурсе, попробовал этим кодом прописать другое свойство, другой кнопке - быстрого воспроизведения

Смысл этой фразы мне непонятен. Напиши конкретнее, что именно ты сделал и чего хотел добиться.
Цитата(sergovano @  27.8.2014,  23:34 Найти цитируемый пост)
 Файлы почему то не прикрепляются...

Точно не скажу, но возможно есть ограничения для новичков и надо какое-то количество постов на форуме оставить, прежде чем функция будет доступна.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

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

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


 




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


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

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