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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Воспроизведение звука 
:(
    Опции темы
YoD
Дата 31.12.2004, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Люди, подскажите пожалуйста, как можно программно воспроизвести звук из wav-файла? Желательно чтобы программа НЕ ждала окончания воспроизведения звука. Заранее спасибо
PM MAIL ICQ   Вверх
Dex
Дата 9.3.2005, 19:59 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот пример проигрывания звука из ресурса. т.е wav`ка прямо в exeшнике.
Код

#If Win32 Then
    Declare Function sndPlaySound Lib "WINMM.DLL" Alias "sndPlaySoundA" _
        (ByVal lpszSoundName As Any, ByVal uFlags As Long) As Long
#Else
    Declare Function sndPlaySound Lib "MMSYSTEM.DLL" _
        (ByVal lpszSoundName As Any, ByVal wFlags As Integer) As Integer
#End If

Global Const SND_ASYNC = &H1
Global Const SND_NODEFAULT = &H2
Global Const SND_MEMORY = &H4
Global SoundBuffer As String
Sub Psound(ByVal ResourceId As Integer)
    Dim Ret As Variant
    
    #If Win32 Then
        
        SoundBuffer = StrConv(LoadResData(ResourceId, "UNIXS"), vbUnicode)
    #Else
        SoundBuffer = LoadResData(ResourceId, "UNIXS")
    #End If
    
    Ret = sndPlaySound(SoundBuffer, 1 Or 2 Or 4)
  
End Sub

Sub EndPlaySound()
    Dim Ret As Variant
    Ret = sndPlaySound(0&, 0&)
End Sub



Еестественно чтобы пример работал попробуй запихнуть в ресурс какую-нибудь вавку.
smile
  Вверх
Ch0bits
Дата 7.4.2005, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

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



Это всё unsafe код! smile Не соответсвует концепции .NET! smile
Нужно истользовать DirectSound. Смотри пример в DirectX SDK. smile
PM WWW   Вверх
Exception
Дата 11.4.2005, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Vadim999 @ 8.4.2005, 00:41)
Это всё unsafe код!  Не соответсвует концепции .NET! 

И что с того? Как по-твоему, что быстрее, встроенные ф-ции Винта или DX?
Между прочим, в .NET половина ф-ций написана именно с помощью WinAPI. А лишний Try...Catch...Finally никогда в коде не повредит.

Цитата(Dex @ 9.3.2005, 20:59)
#If Win32 Then
       
        SoundBuffer = StrConv(LoadResData(ResourceId, "UNIXS"), vbUnicode)
    #Else
        SoundBuffer = LoadResData(ResourceId, "UNIXS")
    #End If
   

зачем #If Win32? .NET по-твоему под Linux или Win16 будет пороть?
PM   Вверх
Rusya
Дата 4.6.2005, 00:41 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот те мой экземпл. воспроизводит .wav файлы! проблем у мя нет с ним.

Код

Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
    Private Declare Function waveOutGetNumDevs Lib "winmm.dll" () As Long
    Const SND_ASYNC = &H1
    Const SND_NODEFAULT = &H2
    Dim ret As Long
    Dim Typer As String
    Private Sub Form_Load()
        Button1.Text = "Открыть"
    End Sub
    Private Sub Button1_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Command1.Click
        ret& = waveOutGetNumDevs
        If ret& > 0 Then
            'Set the CommonDialogBox' filter
            OpenFileDialog1.Filter = "Wave-files (*.wav)|*.wav|"
            'Set the CommonDialogBox' title
            OpenFileDialog1.Title = "Выбор файла ..."
            'Show the 'Open File'-dialog
            OpenFileDialog1.ShowDialog()
        Else
            MsgBox("No soundcard detected !")
        End If
        Typer = OpenFileDialog1.FileName.ToCharArray(OpenFileDialog1.FileName.Length - 3, 3)
        Label1.Text = "Тип файла: " + Typer.ToUpper
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'Play the selected sound
        sndPlaySound(OpenFileDialog1.FileName, SND_ASYNC Or SND_NODEFAULT)
    End Sub


Всегда Пожалуйста smile
  Вверх
VavanVoronez
Дата 11.4.2008, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Подскажите пожалуйста. А можно ли из wav-файла воспроизводить часть его, указанной длины. Как при воспроизведении mp3-файла?
PM MAIL   Вверх
arcangel
Дата 2.5.2008, 02:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А так не проще?
Код

My.Computer.Audio.Play("имя файла или ресурс", AudioPlayMode.Background)

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

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

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


 




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


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

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