Автор | Сообщение |
|
| |
Пост N: 2983
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.04.13 13:14. Заголовок: Как проиграть WAV файл ?
функции tone уже маловато ;)
|
|
|
Ответов - 25
, стр:
1
2
All
[только новые]
|
|
|
| moderator
|
Пост N: 463
Зарегистрирован: 11.02.10
|
|
Отправлено: 10.04.13 13:35. Заголовок: Если использовать би..
Если использовать библиотеку CallDLL (есть в поставке минигуи), то можно так: /* * MiniGUI DLL Demo */ #include "minigui.ch" Procedure Main DEFINE WINDOW Win_1 ; AT 0,0 ; WIDTH 400 ; HEIGHT 400 ; TITLE 'Hello World!' ; MAIN ; ON RELEASE UnloadAllDll() DEFINE MAIN MENU DEFINE POPUP 'Test' MENUITEM 'Play Sound' ACTION PlaySound () END POPUP END MENU END WINDOW ACTIVATE WINDOW Win_1 Return Procedure PlaySound // the number of waveform-audio output devices present in the system If CallDll32 ( "waveOutGetNumDevs" , "WINMM.DLL" ) > 0 CallDll32 ( "sndPlaySoundA" , "WINMM.DLL" , "sample.wav" , 0 ) EndIf Return
|
|
|
|
| |
Пост N: 2984
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.04.13 13:45. Заголовок: gfilatov2002 Спасиб..
gfilatov2002 Спасибо , идею понял. Заюзал hbmisc
|
|
|
|
| |
Пост N: 810
Зарегистрирован: 11.06.10
|
|
Отправлено: 10.04.13 13:54. Заголовок: в библиотеке hbwin е..
в библиотеке hbwin есть ф-я WAPI_PLAYSOUND, может ее попробовать?
|
|
|
|
| |
Пост N: 2985
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.04.13 13:56. Заголовок: gfilatov2002 За что..
gfilatov2002 За что отвечает последний параметр ?
|
|
|
|
| |
Пост N: 2986
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.04.13 13:59. Заголовок: AlexMyr пишет: WAPI..
AlexMyr пишет: в с я не силен а посему мне не ясны параметры этой функции
|
|
|
|
| |
Пост N: 811
Зарегистрирован: 11.06.10
|
|
Отправлено: 10.04.13 14:03. Заголовок: только что проверил,..
только что проверил, работает, только подцепить библиотеку hbwin func main WAPI_PLAYSOUND("ALSNDMGR.WAV") return
|
|
|
|
| |
Пост N: 2987
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.04.13 14:11. Заголовок: AlexMyr Да работает..
AlexMyr Да работает. Спасибо
|
|
|
|
| moderator
|
Пост N: 464
Зарегистрирован: 11.02.10
|
|
Отправлено: 10.04.13 16:12. Заголовок: Dima пишет: За что ..
Dima пишет: цитата: | За что отвечает последний параметр ? |
| BOOL sndPlaySound(LPCSTR lpszSoundFile, UINT wFlags); Через параметр lpszSoundFile этой функции можно передать путь к wav-файлу. Параметр wFlags определяет способ проигрывания звукового фрагмента. Используются следующие значения (некоторые из них можно комбинировать при помощи операции ИЛИ): Значение Описание SND_SYNC Синхронный режим работы. Функция sndPlaySound вернет управление только после завершения проигрывания звукового фрагмента SND_ASYNC Асинхронный режим работы. Функция вернет управление немедленно, проигрывание звукового фрагмента будет выполняться в фоновом режиме параллельно с работой приложения SND_NODEFAULT Если указанный файл не найден, функция "тихо" возвращает управление, не проигрывая никаких звуков. Если же этот флаг не указан, и файл не найден, будет проигран стандартный системный звук, определенный в строке SystemDefault раздела [sound] файла win.ini. А если и это невозможно, функция не будет ничего проигрывать и вернет значение FALSE SND_MEMORY Это значение используется для проигрывания звуковых файлов, загруженных в оперативную память, например, из ресурсов приложения SND_LOOP Если указано значение SND_ASYNC, проигрывание звукового фрагмента будет зациклено. Для того чтобы остановить проигрывание, необходимо вызвать функцию sndPlaySound, указав ей в качестве параметра lpszSoundFile значение NULL SND_NOSTOP При указании этого значения функция проверяет, выполняется ли в настоящий момент проигрывание фрагмента. Если да, функция возвращает значение FALSE
|
|
|
|
| |
Пост N: 2990
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.04.13 17:24. Заголовок: gfilatov2002 А MP3 ..
gfilatov2002 А MP3 файлы как проиграть ?
|
|
|
|
| moderator
|
Пост N: 465
Зарегистрирован: 11.02.10
|
|
Отправлено: 10.04.13 17:46. Заголовок: Dima пишет: А MP3 ф..
Dima пишет: цитата: | А MP3 файлы как проиграть ? |
| Посмотри в сторону WinAPI-функции mciSendString: Скрытый текст
HB_FUNC ( MCISENDSTRING ) { DWORD nError; nError = mciSendString( hb_parc( 1 ), hb_parc( 2 ), hb_parcsiz( 2 ), (HWND) hb_parnl( 3 ) ); hb_retni( nError ); }
|
|
|
|
|
| |
Пост N: 2991
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.04.13 18:18. Заголовок: gfilatov2002 Спасиб..
gfilatov2002 Спасибо , работает. proc main mciSendString("play 14.mp3 wait",,0,) return #pragma BEGINDUMP #include <hbapi.h> #include <windows.h> HB_FUNC ( MCISENDSTRING ) { DWORD nError; nError = mciSendString( hb_parc( 1 ), hb_parc( 2 ), hb_parcsiz( 2 ), (HWND) hb_parnl( 3 ) ); // при сборке ворнинг вот такой Warning W8075 s.prg 21: Suspicious pointer conversion in function HB_FUN_MCISENDSTRING hb_retni( nError ); } #PRAGMA ENDDUMP Нужно покопать еще насчет параметров. Нет ли правильной ссылочки ?
|
|
|
|
|
| moderator
|
Пост N: 466
Зарегистрирован: 11.02.10
|
|
Отправлено: 10.04.13 21:10. Заголовок: Dima пишет: Нужно п..
Dima пишет: цитата: | Нужно покопать еще насчет параметров |
| цитата: | Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long mciSendString посылает строку команды устройству ИНТЕРФЕЙСА УПРАВЛЕНИЯ СРЕДОЙ ПЕРЕДАЧИ ДАННЫХ(MCI). Устройство, которому команда послана, определено в строке команды.Строки команды, используемые с этой функцией могут исполнять почти любую задачу, необходимую для использования устройства мультимедиа, установленного на компьютере. MciSendString обеспечивает относительно простой способ исполнять операции с мультимедиа. Возвращаемое значение В успешном случае функция возвращает 0. В случае ошибки, функция возвращает код ошибки MCI отличный от нуля. Чтобы получить текстовое описание ошибки, используйте функцию mciGetErrorString. lpstrCommand Указатель на строку, которая определяет строку команды MCI. lpstrReturnString Для строк команды,возвращаюх информацию, эта строка получает вывод данных командой. Эта строка должна первоначально быть по крайней мере в длиной 128 символов, долго чтобы получить строку. Любая информация, помещенная в эту строку будет с нулевым символом в конце. Если строка команды не возвращает информацию, этот параметр игнорируется. Если никакой информации возвращения не требуется, этот параметр может быть NULL uReturnLength Размер в символах, буфера возвращений, указанного lpstrReturnString hwndCallback Если "уведомляющийся" флажок строки команды определен, это - дескриптор окна, чтобы получить сообщение MM_MCINOTIFY , когда команда завершается, независимо от того, выполнена ли она или потерпело неудачу. |
|
|
|
|
|
| |
Пост N: 2992
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.04.13 22:22. Заголовок: gfilatov2002 Спасиб..
gfilatov2002 Спасибо конечно , но чел который в языке С не шарит ни чего не поймет. Как для своих можно проще объяснить ? Какие параметры и тд и тп. Если напряг , буду сам ковырять и убивать кучу времени. PS И да в С я не шарю. Грустно но не шарю.
|
|
|
|
| moderator
|
Пост N: 467
Зарегистрирован: 11.02.10
|
|
Отправлено: 10.04.13 23:11. Заголовок: Dima пишет: Как для..
Dima пишет: цитата: | Как для своих можно проще объяснить ? |
| Выкладываю рабочий класс TMP3 (файл tmp3.prg): Скрытый текст
/****************************************************************************** Programa: TMp3 class Version: 1.0 (c) Cristobal Molla [cemese@terra.es] Revised by Grigory Filatov <gfilatov@inbox.ru> ******************************************************************************/ #include "hbclass.ch" #include "directry.ch" #define BUFFER 200 #define CRLF hb_OsNewLine() #define TRUE .T. #define FALSE .F. #define MCI_MODE_UNKNOW 0 #define MCI_MODE_NOTREADY 1 #define MCI_MODE_PAUSED 2 #define MCI_MODE_PLAYING 3 #define MCI_MODE_STOPPED 4 CLASS TMp3 DATA nId INIT 0 DATA nStatus INIT 0 DATA lOpened INIT FALSE METHOD ERROR( nError, cMetodo ) METHOD New() METHOD Open( cFile ) METHOD Close() METHOD Status() METHOD Play() METHOD Pause() METHOD Stop() ENDCLASS METHOD ERROR( nError, cMetodo ) CLASS TMp3 // Declaracion de variables.------------------------------------------- LOCAL cError as character LOCAL cTexto as character // Inicializacion de variables.---------------------------------------- cError := Space( BUFFER ) // Muestra el mensaje de error.---------------------------------------- MCIGetErrorString( nError, @cError ) IF Empty( cError ) cTexto := "Error desconocido al ejecutar el comando " cTexto += cMetodo + " del dispositivo MP3 " + CRLF cTexto += CRLF cTexto += "Cуdigo de Error: " cTexto += hb_ValtoStr( nError ) ELSE cTexto := "Error al ejecutar el comando " cTexto += cMetodo + " del dispositivo MP3 " + CRLF cTexto += CRLF cTexto += "Cуdigo de Error: " cTexto += hb_ValtoStr( nError ) + CRLF cTexto += "Error: " + cError + " " + CRLF CTexto += "Llamado desde: " + ProcName( 2 ) ENDIF MsgInfo( cTexto, "Atenciуn" ) RETURN NIL METHOD New() CLASS TMp3 ::nId := 0 ::nStatus := MCI_MODE_UNKNOW ::lOpened := FALSE RETURN self METHOD Open( cFile ) CLASS TMp3 // Declaracion de variables.------------------------------------------- LOCAL cFileName as character LOCAL nError as numeric LOCAL cComando as character LOCAL cReturn as character // Control de parametros.---------------------------------------------- IF !File( cFile ) MsgInfo( "No existe el archivo " + cFile, "TMp3 Class" ) RETURN ::lOpened ENDIF // Inicializacion de variables.---------------------------------------- cFileName := _GetShortPathName( cFile ) cComando := "OPEN " + cFileName + " TYPE MPEGVIDEO ALIAS MP3" cReturn := Space( BUFFER ) // Abre el fichero especificado.--------------------------------------- nError := MCISendString( cComando, @cReturn, GetActiveWindow() ) IF nError > 0 ::ERROR( nError, "TMp3:Open()" ) ELSE ::nId := MCIGetDeviceId( "MP3" ) ::nStatus := ::Status() ::lOpened := TRUE ENDIF RETURN ::lOpened METHOD Close() CLASS TMp3 // Declaracion de variables.------------------------------------------- LOCAL nError as numeric LOCAL cComando as character LOCAL cReturn as character // Inicializacion de variables.---------------------------------------- cComando := "CLOSE MP3" cReturn := Space( BUFFER ) // Obtiene el modo.---------------------------------------------------- nError := MCISendString( cComando, @cReturn, GetActiveWindow() ) IF nError > 0 ::ERROR( nError, "TMp3:Close()" ) ELSE ::lOpened := FALSE ENDIF RETURN ::lOpened METHOD Status() CLASS TMp3 // Declaracion de variables.------------------------------------------- LOCAL nError AS NUMERIC LOCAL cComando AS CHARACTER LOCAL cReturn AS CHARACTER // Inicializacion de variables.---------------------------------------- cComando := "STATUS MP3 MODE " cReturn := Space( BUFFER ) // Obtiene el modo.---------------------------------------------------- nError := MCISendString( cComando, @cReturn, GetActiveWindow() ) IF nError > 0 ::ERROR( nError, "TMp3:Status()" ) ELSE DO CASE CASE cReturn == "not ready" ::nStatus := MCI_MODE_NOTREADY CASE cReturn == "paused" ::nStatus := MCI_MODE_PAUSED CASE cReturn == "playing" ::nStatus := MCI_MODE_PLAYING CASE cReturn == "stopped" ::nStatus := MCI_MODE_STOPPED OTHERWISE ::nStatus := MCI_MODE_UNKNOW ENDCASE ENDIF RETURN cReturn METHOD Play() CLASS TMp3 // Declaracion de variables.------------------------------------------- LOCAL nError LOCAL cComando LOCAL cReturn // Inicializacion de variables.---------------------------------------- IF ::Status() == "paused" cComando := "RESUME MP3" ELSE cComando := "PLAY MP3 FROM 0" ENDIF cReturn := Space( BUFFER ) // Obtiene el modo.---------------------------------------------------- nError := MCISendString( cComando, @cReturn, GetActiveWindow() ) IF nError > 0 ::ERROR( nError, "TMp3:Play()" ) ELSE ENDIF RETURN NIL METHOD Pause() CLASS TMp3 // Declaracion de variables.------------------------------------------- LOCAL nError LOCAL cComando LOCAL cReturn // Inicializacion de variables.---------------------------------------- cComando := "PAUSE MP3" cReturn := Space( BUFFER ) // Obtiene el modo.---------------------------------------------------- nError := MCISendString( cComando, @cReturn, GetActiveWindow() ) IF nError > 0 ::ERROR( nError, "TMp3:Pause()" ) ELSE ENDIF RETURN NIL METHOD Stop() CLASS TMp3 // Declaracion de variables.------------------------------------------- LOCAL nError LOCAL cComando LOCAL cReturn // Inicializacion de variables.---------------------------------------- cComando := "STOP MP3" cReturn := Space( BUFFER ) // Obtiene el modo.---------------------------------------------------- nError := MCISendString( cComando, @cReturn, GetActiveWindow() ) IF nError > 0 ::ERROR( nError, "TMp3:Stop()" ) ELSE ENDIF RETURN NIL #pragma BEGINDUMP // Ficheros de definiciones de C. #include <windows.h> #include <mmsystem.h> // Ficheros de definiciones de Harbour. #include "hbapi.h" /****************************************************************************** Procedimiento: MCISendString( cComando, cBuffer ) Parametros: cComando - Caracter. Comando a ejecutar. cBuffer - Caracter. Buffer para almacenar la respuesta del comando. Devuelve: Notas: Prototipo C: MCIERROR mciSendString( LPCTSTR lpszCommand, LPTSTR lpszReturnString, UINT cchReturn, HANDLE hwndCallback ); The mciSendString function sends a command string to an MCI device. The device that the command is sent to is specified in the command string. Parameters ---------- lpszCommand Address of a null-terminated string that specifies an MCI command string. For more information about the command strings, see Command Strings. lpszReturnString Address of a buffer that receives return information. If no return information is needed, this parameter can be NULL. cchReturn Size, in characters, of the return buffer specified by the lpszReturnString parameter. hwndCallback Handle of a callback window if the “notify” flag was specified in the command string. Return Values ------------- Returns zero if successful or an error otherwise. The low-order word of the returned doubleword value contains the error return value. If the error is device-specific, the high-order word of the return value is the driver identifier; otherwise, the high-order word is zero. For a list of possible error values, see Constants: MCIERR Return Values. To retrieve a text description of mciSendString return values, pass the return value to the mciGetErrorString function. ******************************************************************************/ HB_FUNC ( MCISENDSTRING ) { // Declaracion de variables.------------------------------------------- DWORD nError; BYTE bBuffer[ 255 ]; // Envio del comando.-------------------------------------------------- nError = mciSendString( ( LPSTR) hb_parc( 1 ), ( LPTSTR ) bBuffer, 254, ( HWND ) hb_parnl( 3 ) ); hb_storc( bBuffer, 2 ); // Control de error.--------------------------------------------------- hb_retnl( nError ); } /****************************************************************************** Procedimiento: MCIGetErrorString( nError, @cError ) Parametros: nError - Numerico. Numero del error devuelto por mciSendCommand() o mciSendString(). cError - Cadena de caracteres con el texto descriptivo del error. Inicializada. Pasada por referencia. Devuelve: lError - Logico. Verdadero si se encontro la descripcion del error, falso en caso contrario Notas: Devuelve la descripcion de error al enviar un comando MCI. Prototipo C: BOOL mciGetErrorString( DWORD fdwError, LPTSTR lpszErrorText, UINT cchErrorText ); The mciGetErrorString function retrieves a string that describes the specified MCI error code. Parameters ---------- fdwError Error code returned by the mciSendCommand or mciSendString function. lpszErrorText Address of a buffer that receives a null-terminated string describing the specified error. cchErrorText Length of the buffer, in characters, pointed to by the lpszErrorText parameter. Return Values ------------- Returns TRUE if successful or FALSE if the error code is not known. ******************************************************************************/ HB_FUNC ( MCIGETERRORSTRING ) { BYTE bBuffer[ 255 ]; // Devuelve la descripcion del error.---------------------------------- hb_retl( mciGetErrorString( hb_parnl( 1 ), ( LPTSTR ) bBuffer, 254 ) ); hb_storc( bBuffer, 2 ); } /****************************************************************************** Procedimiento: MCIGetDeviceID() Parametros: cDispositivo - Caracter. Nombre del dispositivo o del alias abierto satisfactoriamente. Devuelve: El identificador con el nombre del dispositivo o su alias o cero si no esta abierto. Notas: Obtiene el identifiacdor de un dispositivo MCI. Prototipo C: MCIDEVICEID mciGetDeviceID( LPCTSTR lpszDevice ); The mciGetDeviceID function retrieves the device identifier corresponding to the name of an open device. Parameters ---------- lpszDevice Address of a null-terminated string that specifies the device name or the alias name by which the device is known. Return Values ------------- Returns the device identifier assigned to the device when it was opened if successful. The identifier is used in the mciSendCommand function. If the device name is not known, if the device is not open, or if there was not enough memory to complete the operation, the return value is zero. ******************************************************************************/ HB_FUNC ( MCIGETDEVICEID ) { // Obtiene el ID del dispositivo o alias MCI. hb_retni( mciGetDeviceID( hb_parc( 1 ) ) ); } #pragma ENDDUMP
| А вот пример его использования в Минигуи: цитата: | #include "minigui.ch" Set Proc To tmp3.prg PROCEDURE Main() LOCAL oMp3 := TMp3():New() define window wndMain ; title "MP3 Test" ; main define main menu define popup "&Test MP3" menuitem " Open MP3 file and device" ; action {|| if( !oMp3:lOpened, ; oMp3:Open( getFile( { { "MP3", "*.mp3" } }, "Select File", CurDir(), FALSE, TRUE ) ), ) } menuitem " oMp3:Status()" ; action {|| if( oMp3:lOpened, MsgInfo( oMp3:Status() ), ) } menuitem " oMp3:Play()" ; action {|| if( oMp3:lOpened, oMp3:Play(), ) } menuitem " oMp3:Pause()" ; action {|| if( oMp3:lOpened, oMp3:Pause(), ) } menuitem " oMp3:Stop()" ; action {|| if( oMp3:lOpened, oMp3:Stop(), ) } menuitem " oMp3:Close()" ; action {|| if( oMp3:lOpened, oMp3:Close(), ) } separator menuitem " Exit" ; action wndMain.Release() end popup end menu end window activate window wndMain RETURN |
| Если будут непонятки - спрашивай
|
|
|
|
| |
Пост N: 2993
Зарегистрирован: 17.05.05
|
|
Отправлено: 11.04.13 09:09. Заголовок: gfilatov2002 Вроде ..
gfilatov2002 Вроде все ясно. Спасибо !
|
|
|
|
| |
Пост N: 2995
Зарегистрирован: 17.05.05
|
|
Отправлено: 11.04.13 09:42. Заголовок: gfilatov2002 Все та..
gfilatov2002 Все таки есть вопрос. Терминал GTWIN Как заставить MP3 играть в фоне ? Короткий пример proc main mciSendString("open 14.mp3 type mpegvideo alias MediaFile") mciSendString("play MediaFile wait") // пока полностью не проиграет управление программе не передается //оно и понятно так как параметр WAIT return #pragma BEGINDUMP #include <hbapi.h> #include <windows.h> HB_FUNC ( MCISENDSTRING ) { DWORD nError; nError = mciSendString( hb_parc( 1 ), hb_parc( 2 ), hb_parcsiz( 2 ), (HWND) hb_parnl( 3 ) ); hb_retni( nError ); } #PRAGMA ENDDUMP
|
|
|
|
| moderator
|
Пост N: 468
Зарегистрирован: 11.02.10
|
|
Отправлено: 11.04.13 10:36. Заголовок: Dima пишет: Как зас..
Dima пишет: цитата: | Как заставить MP3 играть в фоне ? |
| Попробуй использовать команду play без указания wait: mciSendString("play MediaFile")
|
|
|
|
| |
Пост N: 2997
Зарегистрирован: 17.05.05
|
|
Отправлено: 11.04.13 10:45. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | mciSendString("play MediaFile") |
| Да уже понял. Спасибо. Вот так надо. mciSendString("play MediaFile") wait // что то делаем свое ;) или так можно mciSendString("play MediaFile notify" ) wait // что то делаем свое ;)
|
|
|
|
| |
Пост N: 136
Зарегистрирован: 08.07.06
|
|
Отправлено: 19.08.13 16:50. Заголовок: Подскажите плиз начи..
Подскажите плиз начинающему - какими способами затянуть mp3/wav в готовый exe (понимаю, что как-то через ресурс, как наподобие с иконкам). И как его оттуда озвучить ? Спасибо.
|
|
|
|
| |
Пост N: 163
Зарегистрирован: 08.07.06
|
|
Отправлено: 20.08.13 23:37. Заголовок: Sergy пишет: Подска..
Sergy пишет: цитата: | Подскажите плиз начинающему - какими способами затянуть mp3/wav в готовый exe (понимаю, что как-то через ресурс, как наподобие с иконкам). И как его оттуда озвучить ? |
| Очень хочется порадовать юзеров новой программой (внутри есть встроенный обмен сообщениями). Подскажите плиз - как...
|
|
|
|
| |
Пост N: 21
Зарегистрирован: 20.04.07
|
|
Отправлено: 21.08.13 08:47. Заголовок: Если для консоли и WAV - то вот так
Файл ресурса: test.rc Скрытый текст // Имя ресурса Тип ресурса Файл ресурса SOUNDTEST WAVE "Test.wav"
| Программка: test.prg Скрытый текст FUNCTION Main() ? "Hello, Crazy World!" My_Play("SOUNDTEST") WAIT RETURN NIL #pragma BEGINDUMP #include <windows.h> #include <mmsystem.h> #include "hbapi.h" HB_FUNC( MY_PLAY ) { hb_retl( PlaySound( hb_parc( 1 ), GetModuleHandle( NULL ), SND_ASYNC | SND_RESOURCE ) ); } #pragma ENDDUMP
|
|
|
|
|
|
| |
Пост N: 166
Зарегистрирован: 08.07.06
|
|
Отправлено: 21.08.13 09:38. Заголовок: Andrey_IV, спасибо о..
Andrey_IV, спасибо огромное, буду пробовать.
|
|
|
|
| |
Пост N: 225
Зарегистрирован: 08.07.06
|
|
Отправлено: 25.08.13 20:41. Заголовок: Выяснил, что hbmk2 п..
Выяснил, что hbmk2 при указании -icon=lala.ico в файле проекта полностью (?) игнорирует скомпилированный ресурс, подключаемый в списке файлов для работы. Т.е. если подключены иконки в проекте, то звука не будет. Решение: засовывать и иконки и звук в один ресурс и подключать как файл *.res, отказываясь от команд -icon= Спасибо еще раз.
|
|
|
|
| |
Пост N: 22
Зарегистрирован: 20.04.07
|
|
Отправлено: 26.08.13 00:50. Заголовок: Даже не знал про эту опцию
В этой теме было про "wapi_PlaySound": вот придумал: #xtranslate PlayWavFileName(<cFile> [, <nFlag,...>]) ; => wapi_PlaySound(<cFile>, NIL, ; hb_bitOr(WIN_SND_ASYNC, WIN_SND_FILENAME [,<nFlag>])) #xtranslate PlayWavResource(<cWave> [, <nFlag,...>]) ; => wapi_PlaySound(<cWave>, wapi_GetModuleHandle(), ; hb_bitOr(WIN_SND_ASYNC, WIN_SND_RESOURCE [,<nFlag>])) как пример - зпустить звук по кругу: PlayWavResource("TEST_WAVE", WIN_SND_LOOP) про nFlag - см.hbwin.ch непонятки - см. mmsystem.h - там комменты на англицком
|
|
|
|
| |
Пост N: 228
Зарегистрирован: 08.07.06
|
|
Отправлено: 26.08.13 10:16. Заголовок: Andrey_IV пишет: В ..
Andrey_IV пишет: цитата: | В этой теме было про "wapi_PlaySound": вот придумал: |
| Похоже на то, что файл со звуком в ресурс не попадает, если указана опция -icon= Немного не понимаю, как вызов другой процедуры воспроизведения сможет помочь в таком случае ?
|
|
|
Ответов - 25
, стр:
1
2
All
[только новые]
|
|