Проиграть звук в VB.NET

Обсуждение проблем, возникающих при разработке программ для мобильных устройств.
GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Проиграть звук в VB.NET

Сообщение GPP » 02.10.2008 (Чт) 7:16

Как проиграть звук? Допустим при запуске программы... Спасибо.
GPP(c) Gorlo Pavel Programming

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Проиграть звук в VB.NET

Сообщение Sebas » 02.10.2008 (Чт) 11:06

- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Проиграть звук в VB.NET

Сообщение Sebas » 02.10.2008 (Чт) 11:09

Хотя в FW 3.5 появилось


Public Class SoundPlayer
Inherits System.ComponentModel.Component
Member of System.Media
Summary:
Controls playback of a sound from a .wav file.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Re: Проиграть звук в VB.NET

Сообщение GPP » 15.10.2008 (Ср) 2:08

Sebas писал(а):Хотя в FW 3.5 появилось


Public Class SoundPlayer
Inherits System.ComponentModel.Component
Member of System.Media
Summary:
Controls playback of a sound from a .wav file.


Sebas, я так и не понял как проиграть звук :)... Как? Какой командой или функцией? А именно в FM 2.0. Спасибо ;)
GPP(c) Gorlo Pavel Programming

flyroman
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 05.12.2008 (Пт) 1:19

Re: Проиграть звук в VB.NET

Сообщение flyroman » 05.12.2008 (Пт) 1:24

так никто и не сказал, как проиграть звук
Framework 1/1.1/2.0

..мне конкретно на WM 2003 Smartphone...нужно))
Спасибо заранее

GPP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 351
Зарегистрирован: 02.11.2005 (Ср) 8:02
Откуда: г.Невельск о.Сахалин

Re: Проиграть звук в VB.NET

Сообщение GPP » 05.12.2008 (Пт) 7:04

Вот код модуля:
Код: Выделить всё
Imports System.IO

Public Class Sound
    Private m_soundBytes() As Byte
    Private m_fileName As String

    Public Declare Function WCE_PlaySound Lib "CoreDll.dll" Alias "PlaySound" (ByVal szSound As String, ByVal hMod As IntPtr, ByVal flags As Integer) As Integer
    Public Declare Function WCE_PlaySoundBytes Lib "CoreDll.dll" Alias "PlaySound" (ByVal szSound() As Byte, ByVal hMod As IntPtr, ByVal flags As Integer) As Integer



    Private Enum Flags
        SND_SYNC = &H0 ' play synchronously (default)
        SND_ASYNC = &H1 ' play asynchronously
        SND_NODEFAULT = &H2 ' silence (!default) if sound not found
        SND_MEMORY = &H4 ' pszSound points to a memory file
        SND_LOOP = &H8 ' loop the sound until next sndPlaySound
        SND_NOSTOP = &H10 ' don't stop any currently playing sound
        SND_NOWAIT = &H2000 ' don't wait if the driver is busy
        SND_ALIAS = &H10000 ' name is a registry alias
        SND_ALIAS_ID = &H110000 ' alias is a predefined ID
        SND_FILENAME = &H20000 ' name is file name
        SND_RESOURCE = &H40004 ' name is resource name or atom
    End Enum


    ' Construct the Sound object to play sound data from the specified file.
    Public Sub New(ByVal fileName As String)
        m_fileName = fileName
    End Sub


    ' Construct the Sound object to play sound data from the specified stream.
    Public Sub New(ByVal stream As Stream)
        ' read the data from the stream
        m_soundBytes = New Byte(stream.Length) {}
        stream.Read(m_soundBytes, 0, Fix(stream.Length))
    End Sub 'New


    ' Play the sound
    Public Sub Play()
        ' If a file name has been registered, call WCE_PlaySound,
        ' otherwise call WCE_PlaySoundBytes.
        If Not (m_fileName Is Nothing) Then
            WCE_PlaySound(m_fileName, IntPtr.Zero, Fix(Flags.SND_ASYNC Or Flags.SND_FILENAME))
        Else
            WCE_PlaySoundBytes(m_soundBytes, IntPtr.Zero, Fix(Flags.SND_ASYNC Or Flags.SND_MEMORY))
        End If
    End Sub
End Class


Module MyFunction

    Public Function GetAppPatch() As String
        Dim Str, Str_2 As String, pos As Long
        Str = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase.ToString
        pos = InStrRev(Str, "\")
        Str_2 = Mid(Str, 1, pos)
        Return Str_2
    End Function
End Module



А вот пример использования:

Код: Выделить всё
Dim sound As New Sound(GetAppPatch() & "Msg.wav")
sound.Play()
GPP(c) Gorlo Pavel Programming


Вернуться в Visual Basic для мобильных устройств

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList