ПОНЯТНО О Visual Basic NET

       

Звук и видео Проект «Плеер»


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

Свой голос вы можете записать в звуковой файл, если у вас есть микрофон. Делается это стандартным приложением Windows «Звукозапись», до которого добираются так: В среде Windows нажмите Пуск ® Программы ® Стандартные ® Развлечения ® Звукозапись.

Вы можете прекрасно прослушивать и просматривать с помощью VB файлы самых разных форматов.

Звук и видео в Windows. Для воспроизведения звуковых и видеофайлов нужна специальная программа. Работая в Windows, вы наверняка для этого пользовались медиаплеером. Возможно, вы просто щелкали по значку звукового или видеофайла, после чего слушали и смотрели, не обращая внимания, что проигрывает вам эти файлы именно программа «Медиаплеер» (Windows Media Player). Медиаплеер входит в стандартный состав Windows последних версий. Если вы никогда им не пользовались, вам сейчас полезно чуть-чуть потренироваться в его использовании. Откройте его: Пуск ® Программы ® Стандартные ® Развлечения ® Windows Media Player. Приблизительный внешний вид медиаплеера вы можете видеть на Рис. 3.23. Правда, в последних версиях Windows он перенастраивается и может быть весьма причудливым.

Рис. 3.23

Дальнейшие ваши действия интуитивно ясны. При помощи  File ® Open (затем, возможно, Browse) вы ищете и открываете на жестком или компакт-диске или в сети звуковой или видеофайл. Затем воспроизводите его при помощи привычных кнопок и регуляторов в нижней части медиаплеера: «Воспроизведение», «Пауза», «Стоп», «Громкость» и т.д.

Если вы не можете найти ни одного файла, подскажу, что несколько звуков и мелодий находятся на жестком диске вашего компьютера по адресу Windows\Media, а несколько простейших коротеньких видеоклипов – по адресу


Program Files\Microsoft Visual Studio .NET\Common7\Graphics\videos

Если звука не слышно, проверьте настройки вашей звуковой карты в приложении Микшер. Для этого в среде Windows нажмите Пуск ® Программы ® Стандартные ® Развлечения ® Регулятор громкости. В возникшем окне снимите флажки (галочки) выключения канала и установите максимальный уровень у каналов Wave (для WAV-файлов и MP3-файлов) и MIDI (для MID-файлов и RMI-файлов). Если вы сначала хотите записать звуковой файл с микрофона, зайдите в «Свойства», затем в закладку «Запись», установите флажок включения канала «Микрофон» и установите достаточно большой уровень канала «Микрофон».

Звук и видео в VB. Медиаплеер может быть вставлен в ваш VB проект, где вы имеете возможность свободно им пользоваться, управлять и настраивать, причем как в режиме проектирования, так и в режиме работы. Чтобы воспользоваться медиаплеером в VB, вам нужно расположить на форме специальный элемент управления Windows Media Player, который является «копией» медиаплеера в вашем проекте. Но его нет в стандартном наборе на панели Toolbox. Сначала его нужно туда поместить. Для этого: Tools ® Customize Toolbox ® COM Components ® вы находите Windows Media Player в длинном списке и ставите против него галочку ® OK. Он появился в Toolbox. Теперь его можно размещать на форме обычным образом. Подробнее процесс добавления нового элемента управления в Toolbox рассмотрен в 4.2.3.

Постановка задачи. Давайте на основе медиаплеера создадим собственный небольшой проигрыватель примерно такого вида, как на Рис. 3.24.





Рис. 3.24

Мы видим его в момент воспроизведения видеофайла. В центре расположен элемент управления Windows Media Player в виде экрана с инструментами управления сразу под ним. Кроме этого на форме мы видим 12 кнопок: по бокам 6 белых и внизу 6 серых. Слева – 3 белые кнопки с названиями звуковых клипов. Справа – 3 белые кнопки с названиями видеоклипов. Я сделал только по 3, но их может быть, сами понимаете, хоть сотня. В дальнейшем, чтобы не связываться с кнопками, мы научимся пользоваться списком (18.5) или просто просматривать диск (20.2).



Пользоваться нашим проигрывателем просто. Сначала щелчком по белой кнопке выбираем, что будем проигрывать. Затем запускаем воспроизведение щелчком по кнопке «Старт». Щелчком по кнопке «Стоп» – останавливаем. Мы можем пользоваться и собственными инструментами управления медиаплеера, которые видны сразу под экраном.. А вот 4 кнопки в центре внизу убеждают нас, что средствами VB вы можете управлять медиаплеером тоньше и удобнее, чем в Windows.

Проектируем проигрыватель. Создадим новый проект. Поместим Windows Media Player в Toolbox, а оттуда – на форму. Там он будет иметь примерно такой вид, как на Рис. 3.23, только без меню. В окне свойств мы видим большое количество его свойств. Не нужно менять значения тех свойств, которые вы не понимаете.

Проделайте следующее:

  • Дайте ему имя (например, Плеер).


  • Установите свойство AutoRewind (автоперемотка) в True, чтобы после окончания воспроизведения плеер устанавливался на начало клипа.


  • Установите свойство AutoStart в False, чтобы плеер не начинал воспроизводить файл сразу после открытия его щелчком по белой кнопке, а ждал нажатия на кнопку воспроизведения (хотя, можно и не делать этого).


  • Щелкните правой клавишей мыши по плееру и выберите в контекстном меню Properties. Здесь вы тоже можете настроить кое-какие его свойства.

    Поместим на форму 2 метки и 12 кнопок. Дадим кнопкам подходящие имена (лучше всего, если они будут похожи на текст кнопок).

    Пишем программу. Для того, чтобы конкретный файл начал воспроизводиться, нужно выполнить всего два оператора. Первый должен указать плееру адрес этого файла на диске, чтобы плеер знал, «что играть». Второй должен непосредственно отдать плееру команду начать воспроизведение. Вот пример записи этих двух операторов:

            Плеер.FileName = "E:\WINNT\Media\Windows Logon Sound.wav"

            Плеер.Play()

    Здесь:

    • Плеер – это наш объект плеер.


    • FileName – это его свойство (имя, адрес файла). В кавычках указывается полный адрес файла.


    • Play – это метод объекта Плеер – приказ начать воспроизведение.




    • Двойными щелчками по кнопками переходим в окно кода и заполняем заготовки процедур. Не забывайте, что после ввода очередной процедуры проект нужно запускать и результаты работы процедуры проверять. Вот что у нас должно получиться (пояснения ниже):

      Private Sub Звук_загрузки_Windows_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _

      Handles Звук_загрузки_Windows.Click

              Плеер.FileName = "D:\WINNT\Media\Windows Logon Sound.wav"

      End Sub

      Private Sub Каньон_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Каньон.Click

              Плеер.FileName = "D:\WINNT\Media\canyon.mid"

      End Sub

      Private Sub В_пещере_горного_короля_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _

                                                                             Handles В_пещере_горного_короля.Click

              Плеер.FileName = "D:\WINNT\Media\In the Hall of the Mountain King.RMI"

      End Sub

      Private Sub Штопор_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Штопор.Click

              Плеер.FileName = "D:\Program Files\Microsoft Visual Studio .NET\Common7\Graphics\videos\DRILLRLE.AVI"

      End Sub

      Private Sub Счетчик_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Счетчик.Click

              Плеер.FileName = "D:\Program Files\Microsoft Visual Studio .NET\Common7\Graphics\videos\COUNT24.AVI"

      End Sub

      Private Sub Notre_Dame_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Notre_Dame.Click

              Плеер.FileName = "D:\Documents and Settings\d\My Documents\Visual Studio Projects\Разное\Notre2.avi"

      End Sub

      Private Sub Старт_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Старт.Click

              Плеер.Play()

      End Sub

      Private Sub Стоп_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Стоп.Click

              Плеер.Stop()



      End Sub

      Private Sub Играть_непрерывно_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)  _

      Handles Играть_непрерывно.Click

              Плеер.PlayCount = 0

      End Sub

      Private Sub Играть_1_раз_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Играть_1_раз.Click

              Плеер.PlayCount = 1

      End Sub

      Private Sub Быстрее_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Быстрее.Click

              Плеер.Rate = 2

      End Sub

      Private Sub В_обычном_темпе_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)  _

      Handles В_обычном_темпе.Click

              Плеер.Rate

      = 1

      End Sub

      Пояснения. Прежде всего, некоторые операторы из-за их длины я перенес на следующую строку при помощи «знака переноса», состоящего из пробела и знака подчеркивания. Подробнее об этом – в 3.12.2

      Первые 6 процедур соответствуют 6 белым кнопкам. Вы легко их различите по именам кнопок в заголовках процедур. Все они делают одно и то же дело – подготавливают для последующего воспроизведения конкретный файл. Конечно, адреса файлов на вашем компьютере будут совершенно другими.

      Смысл остальных 6 процедур ясен после следующих пояснений:

      • Stop – это метод объекта Плеер – приказ остановить воспроизведение. При следующем нажатии на кнопку «Старт» воспроизведение продолжится с того места, на котором оно было остановлено.


      • PlayCount – это свойство объекта Плеер (сколько раз подряд проигрывать файл). Если установить его в 0, то воспроизведение будет повторяться бесконечно.


      • Rate – это свойство объекта Плеер (темп воспроизведения). Если установить его, например, в 2, то воспроизведение будет осуществляться в 2 раза быстрее нормального, то есть люди на экране будут бегать, как сумасшедшие, и разговаривать голосом Буратино. А если в 0,5 – будут ползать, как вареные, и рычать.


      • Запустите проект. Проверьте, как работают все кнопки. Потаскайте влево-вправо указатель текущей позиции воспроизведения, подвигайте регулятор громкости.



        Дополнительные замечания. Если вы установите свойство Visible плеера в False, то плеер вместе со своими инструментами управления не будет виден на форме, но вы все равно сможете им управлять, так как на форме останутся кнопки, созданные вами. Таким образом, вы сможете прослушивать звуковые клипы даже при «отсутствии» плеера на форме. Правда, когда вы попытаетесь просмотреть видеоклип, он все же появится.

        Скопируйте папку с проектом и поэкспериментируйте над ней. Вот простые методы и свойства, с которыми можно поэкспериментировать:

        AboutBox

        Метод, показывающий окно с краткими сведениями о медиаплеере.

        Duration

        Свойство – общая продолжительность выбранного клипа в секундах.

        CurrentPosition

        Свойство – на какой секунде находится в данный момент воспроизведение клипа.

        Volume

        Свойство – громкость. Отрицательное число -10000 означает самую маленькую громкость – полную тишину. Число 0 (ноль) – самую большую громкость. промежуточные числа – промежуточную громкость.

        Show

        Несколько свойств, начинающиеся на Show, управляют тем, какие части медиаплеера показывать на экране.

        Многие свойства объектов, такие как Rate или FileName, позволяют в программе устанавливать и менять их значение, как это мы только что и делали (скажем, Плеер.Rate = 1). К ним относятся также Volume и CurrentPosition. Но существуют свойства, которые этого не позволяют. Они называются свойствами только для чтения (ReadOnly). К ним относится Duration. Какая же от них тогда польза? Польза от них хотя бы та, что мы можем посмотреть, чему равно их значение, пусть даже задаем его не мы. Сделать это можно, например, поместив на форму текстовое поле и применив оператор такого вида:

        TextBox1.Text = Плеер.Duration

        Он означает, что значение свойства Text текстового поля TextBox1 становится равным значению свойства Duration объекта Плеер.

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



        Microsoft Multimedia Control 6.0. В Visual Basic 6. 0 есть собственный проигрыватель звуковых и видеофайлов – Microsoft Multimedia Control 6.0. Если у вас на компьютере установлен не только VB, но и  Visual Basic 6.0, вы можете им воспользоваться и в VB. Но методы и свойства там другие. Описаны они в моей книжке (см. Список литературы).

        Задание 4.   

        Усовершенствуйте ваш проигрыватель:

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


        • Добавьте несколько кнопок для задания разной громкости. В будущем вы сможете вместо кнопок организовать плавный регулятор громкости, поудобней стандартного.


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


        • Добавьте кнопку и текстовое поле для определения продолжительности клипа. Когда вы щелкнете по кнопке, в поле должно появляться значение общей продолжительности выбранного клипа.


        • Добавьте кнопку и два текстовых поля для определения текущей позиции воспроизведения. Когда вы щелкнете по кнопке, в одном поле должно появляться число секунд, прошедших с начала воспроизведения, в другом – число секунд, оставшихся до конца воспроизведения. В будущем вы сможете сделать так, чтобы цифры в этих полях менялись автоматически.


        • Добавьте кнопку и текстовое поле для задания текущей позиции воспроизведения. При щелчке по кнопке текущая позиция воспроизведения должна устанавливаться в то значение в секундах, которое вы ввели в текстовое поле.


        • Задание 5.   

          «Музыка в кнопках калькулятора». Пусть при нажатии на калькуляторе каждой из четырех кнопок арифметических действий раздается какой-нибудь короткий мелодичный звук, причем для каждой кнопки свой. Таких звуков много на диске по адресу Windows\Media. Там они записаны в файлах, имеющих расширение wav. Указание: Установите свойство AutoStart в True.


          Содержание раздела