Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 4: Программирование на Visual Basic искусственного интеллекта. Валерий Алексеевич Жарков

Чтение книги онлайн.

Читать онлайн книгу Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 4: Программирование на Visual Basic искусственного интеллекта - Валерий Алексеевич Жарков страница 40

Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 4: Программирование на Visual Basic искусственного интеллекта - Валерий Алексеевич Жарков

Скачать книгу

каждого звукового файла:

      Dim array_btSoundBounce() As Byte

      Dim array_btSoundExplode() As Byte

      'Загружаем в проект файлы изображений и звуков по такой схеме:

      'Создаём объект myAssembly класса Assembly и присваиваем ему

      'ссылку на исполняемую сборку нашего приложения:

      Dim myAssembly As Assembly = Assembly.GetExecutingAssembly()

      'Создаём объект myAssemblyName

      'класса System.Reflection.AssemblyName и присваиваем ему

      'имя сборки, которое состоит из имени проекта,

      'Version, Culture, PublicKeyToken:

      Dim myAssemblyName As AssemblyName = myAssembly.GetName()

      'Из имени сборки при помощи свойства Name

      'выделяем имя проекта типа string:

      Dim myName_of_project As String = myAssemblyName.Name

      Private Sub Form1_Load(ByVal sender As System.Object, _

      ByVal e As System.EventArgs) Handles MyBase.Load

      'Загружаем звуковые файлы в массивы:

      array_btSoundBounce = Sound.ReadBytesFromStream( _

      myAssembly.GetManifestResourceStream( _

      myName_of_project + "." + "bounce.wav"))

      array_btSoundExplode = Sound.ReadBytesFromStream( _

      myAssembly.GetManifestResourceStream( _

      myName_of_project + "." + "explode.wav"))

      'Воспроизводим звук удара объекта о границы формы:

      Sound.Play(array_btSoundBounce)

      'Воспроизводим звук взрыва объекта:

      'Sound.Play(array_btSoundExplode)

      End Sub

      В панели Solution Explorer выполняем правый щелчок по имени проекта и в контекстном меню выбираем Add, New Item (или Project, Add New Item). В панели Add New Item выделяем шаблон Code File, в окне Name записываем имя Sound.vb и щёлкаем кнопку Add.

      В проект (и в панель Solution Explorer) добавляется этот файл, открывается пустое окно редактирования кода, в которое записываем следующий код.

      Листинг 6.13. Файл Sound.vb.

      Imports System.IO 'Для класса Stream.

      Public Class Sound

      'Константы для управления воспроизведением звукового файла:

      Const SND_SYNC = &H0

      Const SND_ASYNC = &H1

      Const SND_NODEFAULT = &H2

      Const SND_MEMORY = &H4

      Const SND_LOOP = &H8

      Const SND_NOSTOP = &H10

      'Из пространства имён System.Runtime.InteropServices

      'импортируем библиотеку winmm.dll и

      'объявляем функцию PlaySoundBytes этой библиотеки:

      Private Declare Function PlaySoundBytes _

      Lib "winmm.dll" Alias "PlaySound" (ByVal szSound() As Byte, _

      ByVal hModule As IntPtr, ByVal dwFlags As Integer) As Integer

      'Метод для считывания звукового файла:

      Public Shared Function ReadBytesFromStream( _

      ByRef strBytes As Stream) As Byte()

      Dim btRetVal() As Byte

      btRetVal = New Byte(strBytes.Length) {}

      strBytes.Read(btRetVal, 0, Fix(strBytes.Length))

      Return btRetVal

      End Function

      'Метод для разового воспроизведения звукового файла:

      Public Shared Sub Play(ByRef btBytes() As Byte)

      PlaySoundBytes(btBytes, IntPtr.Zero, _

      SND_ASYNC Or SND_MEMORY)

      End Sub

      End Class

      Этот файл Sound.vb можно использовать во многих приложениях и играх для воспроизведения звуковых файлов, добавляя его в проект по стандартной схеме Project, Add Existing Item.

      В режиме выполнения (Build, Build Selection; Debug, Start Without Debugging) мы услышим соответствующее (одноразовое) воспроизведение звукового файла, который мы добавили или непосредственно в проект, или в нашу дополнительную папку Sounds проекта.

Скачать книгу