Visual Basic 6.0. Как воспроизвести *.Wav файл по его указателю в памяти?

5e7f66d4a4df0190917913.jpeg
Есть файл ресурс “MMM.wav”. Показано на рисунке

Private Declare Function FindResource Lib "kernel32" Alias "FindResourceA" (ByVal hInstance As Long, ByVal lpName As String, ByVal lpType As Long) As Long
Private Declare Function LoadResource Lib "kernel32" (ByVal hModule As Long, ByVal hResInfo As Long) As Long
Const RT_RCDATA = 10&

Dim F As Long, L As Long
F = FindResource(0, "MMM", RT_RCDATA) – находим файл ресурс “MMM.wav” и узнаём какой-то цифровой адрес данного файла
L = LoadResource(0, F) – узнаём какой-то цифровой адрес файл ресурса “MMM.wav”
Hex(F) – возможный указатель в памяти файл ресурса “MMM.wav”
Hex(L) – возможный указатель в памяти файл ресурса “MMM.wav”

WindowsMediaPlayer1.URL = "C:\MMM.wav" – воспроизведёт файл “MMM.wav”, если он находится на “С” диске

Вопрос:
Как сделать, чтобы WindowsMediaPlayer1.URL воспроизвёл файл “MMM.wav” по его указателю в памяти
Например: WindowsMediaPlayer1.URL = Hex(F) или Hex(L) – нерабочий код
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 3
BasiC2k
@BasiC2k
Купите профильные форумы. Я даже не знаю, пользуется ли кто-то ещё VB6.
Насколько я помню, то что Вы хотите делается через WinApi. Смотрите ещё форумы C++.
Ответ написан
@beerchaser
1. Сохранить ресурс во временный файл.
2. Возпроизвести временный файл.
3. Удалить временный файл.
Вы пытаетесь ссылку на Inproc ресурс передать Outproc объекту. Это так не работает...
Ответ написан
AntiAll
@AntiAll Автор вопроса
Вопрос решён при помощи сторонних функций, и поэтому выкладывать код нет смысла. Без этих сторонних функций код нерабочий.
Спасибо всем и особенно BeerChaser.
Вопрос закрыт.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы