Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Помогите пожалуйста! Добавлено: 26.04.07 20:58  

Автор вопроса:  mechanical_man
При попытке загрузить в буфер wav файл из ресурсов программы (wav находится внутри exe файла) для воспроизведения , выскакивает ошибка, сообщающая о том, что ресурса с именем «Hello_01» не существует (хотя это и не так). Подскажите пожалуйста, что делать???

Friend Class frmMain
Inherits System.Windows.Forms.Form

    Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByRef lpszSoundName As String, ByVal uFlags As Integer) As Integer

      Dim WaveData() As Byte
Private Const SND_ASYNC As Short = &H1s
Private Const SND_MEMORY As Short = &H4s

Private Sub cmdPlay_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdPlay.Click
Dim RetValue As Integer

        WaveData = VB6.LoadResData("01", "Hello")
        RetValue = sndPlaySound(WaveData(0), SND_ASYNC Or SND_MEMORY)
End Sub
End Class

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 intel-DX



ICQ: 445091742 

Вопросов: 4
Ответов: 169
 Профиль | | #1 Добавлено: 26.04.07 21:10
Попробуй так: WaveData = VB6.LoadResData( 1, "Hello";)

Ответить

Номер ответа: 2
Автор ответа:
 intel-DX



ICQ: 445091742 

Вопросов: 4
Ответов: 169
 Профиль | | #2 Добавлено: 26.04.07 21:40
Вот это точно работает:

Const SND_ASYNC = &H1
Const SND_NODEFAULT = &H2
Const SND_MEMORY = &H4
Private Declare Function sndPlaySound Lib "WINMM.DLL" Alias "sndPlaySoundA" (ByVal lpszSoundName As Any, ByVal uFlags As Long) As Long
Private Sub Command1_Click()
    ;Dim SoundBuffer As String
    ;Dim RetValue As Integer
    SoundBuffer = StrConv(LoadResData(101, "Custom";), vbUnicode)
    RetValue = sndPlaySound(SoundBuffer, SND_ASYNC Or SND_MEMORY)
End Sub

Ответить

Номер ответа: 3
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #3 Добавлено: 27.04.07 08:18
intel-DX, пиши диссертацию. Ты заставил Any работать в .net.

Ответить

Номер ответа: 4
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #4 Добавлено: 27.04.07 08:36
Гы! :) а еще в NET стоит Long заменить на Integer, а то действительно придется писать диссертацию на тему "Как заставить работать в VB.NET код VB6 не меняя в нем ни одного символа"

Ответить

Номер ответа: 5
Автор ответа:
 mechanical_man



Вопросов: 17
Ответов: 10
 Профиль | | #5 Добавлено: 29.04.07 15:12
Тогда, может, можно заменить "VB6.LoadResData" на что-нибудь более современное?

Ответить

Номер ответа: 6
Автор ответа:
 Alexandr.R



Вопросов: 9
Ответов: 115
 Web-сайт: gvin.net
 Профиль | | #6
Добавлено: 03.05.07 18:03
если wav файл то
my.Computer.Audio.Play

если из ресурсов
My.Computer.Audio.Play(My.Resources.ResourceName.FileName)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам