Duracion de un mp3 ( SOLUCIONADO )
Posted: Fri Nov 20, 2015 10:23 pm
Colegas del foro buenas tardes:
Ando trabajando en un proyecto para reproducir varios mp3 de forma casi simultanea, por el momento puedo hacer que se escuche cada pista en base a un boton asociado, tambien se como detener la reproducción, el detalle esta en que necesito saber que tiempo dura cada pista o si el archivo que estaba sonando ya termino para que el boton al que esta asociado cambie el bitmap.. les dejo una imagen para que se den una idea de lo que les comento..
Mi idea es hacer que el boton que lanzo el sonido cambie el bitmap de "PLAY" a "STOP" pero, al finalizar la reproduccion recupere el bitmap de "PLAY"..
Con respecto al comando mciSendStr me ha dado uno que otro error, invenstigando sobre dicho comando se que cada pista debe tener un "Alias" para identificar que pista esta sonando, mi pregunta es si es correcto hacer esto:
Pd. les dejo los fuentes y el exe para que puedan probarlo y ver lo que necesito..
http://www.mediafire.com/download/dm2s8bpyj2hmyl7/samplers.zip
En ocaciones me tira un error y me crea este archivo hb_out.log
Saludos..
Ando trabajando en un proyecto para reproducir varios mp3 de forma casi simultanea, por el momento puedo hacer que se escuche cada pista en base a un boton asociado, tambien se como detener la reproducción, el detalle esta en que necesito saber que tiempo dura cada pista o si el archivo que estaba sonando ya termino para que el boton al que esta asociado cambie el bitmap.. les dejo una imagen para que se den una idea de lo que les comento..
Mi idea es hacer que el boton que lanzo el sonido cambie el bitmap de "PLAY" a "STOP" pero, al finalizar la reproduccion recupere el bitmap de "PLAY"..
Con respecto al comando mciSendStr me ha dado uno que otro error, invenstigando sobre dicho comando se que cada pista debe tener un "Alias" para identificar que pista esta sonando, mi pregunta es si es correcto hacer esto:
- Code: Select all Expand view
mciSendStr("STOP MP3"+aAlias,0, oWnd:hWnd)
mciSendStr("CLOSE MP3"+aAlias,0, oWnd:hWnd)
mciSendStr( "OPEN " + LFN2SFN(cFile) + " TYPE MPEGVIDEO ALIAS MP3"+aAlias,, oWnd:hWnd )
mciSendStr( "PLAY MP3"+aAlias,0, oWnd:hWnd )
Pd. les dejo los fuentes y el exe para que puedan probarlo y ver lo que necesito..
http://www.mediafire.com/download/dm2s8bpyj2hmyl7/samplers.zip
En ocaciones me tira un error y me crea este archivo hb_out.log
Application Internal Error - Z:\Pruebas\Payaso\Samplers.Exe
Terminated at: 2015-11-20 16:47:36
Error irrecuperable 6005: Exception error:
Exception Code:C0000005 ACCESS_VIOLATION
Exception Address:10137737
EAX:01A3FC9C EBX:00000000 ECX:00000001 EDX:00000000
ESI:10137737 EDI:001B1FA0 EBP:01A3FCCC
CS:EIP:001B:10137737 SS:ESP:0023:01A3FC84
DS:0023 ES:0023 FS:003B GS:0000
Flags:00010246
Exception Parameters: 00000000 10137737
CS:EIP:
SS:ESP: 7C937E71 001B1FA0 00000000 001C4DE0 01A3FD14 00000000 00000014 00000001 00000000 00000000 00000010 01A3FE48 01A3FC90 01A3F8A8 01A3FFDC 7C91E900
C stack:
EIP: EBP: Frame: OldEBP, RetAddr, Params...
10137737 01A3FCCC 01A3FCF8 7C939D7C 10137737 001B1FA0 00000000 00000000 00000000 00000001 00000000 01A3FCEC
7C939D7C 01A3FCF8 01A3FFB4 7C939CCA 001C4DE0 00000006 00000020 00000018 00000000 7C98C980 7C98C980 00000204
7C939CCA 01A3FFB4 01A3FFEC 7C80B713 00000000 00000020 00000018 00000000 7FFD7000 C0000005 01A3FFC0 01A3F8A8
Modules:
00400000 00376000 Z:\Pruebas\Payaso\Samplers.Exe
7C910000 000B5000 C:\WINDOWS\system32\ntdll.dll
7C800000 00103000 C:\WINDOWS\system32\kernel32.dll
77DA0000 000AC000 C:\WINDOWS\system32\ADVAPI32.DLL
77E50000 00092000 C:\WINDOWS\system32\RPCRT4.dll
77FC0000 00011000 C:\WINDOWS\system32\Secur32.dll
72F80000 00026000 C:\WINDOWS\system32\WINSPOOL.DRV
77EF0000 00049000 C:\WINDOWS\system32\GDI32.dll
7E390000 00091000 C:\WINDOWS\system32\USER32.dll
77BE0000 00058000 C:\WINDOWS\system32\msvcrt.dll
773A0000 00103000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\COMCTL32.DLL
77F40000 00076000 C:\WINDOWS\system32\SHLWAPI.dll
76360000 0004A000 C:\WINDOWS\system32\COMDLG32.DLL
7E6A0000 00821000 C:\WINDOWS\system32\SHELL32.dll
76330000 00005000 C:\WINDOWS\system32\MSIMG32.DLL
76B00000 0002E000 C:\WINDOWS\system32\WINMM.DLL
774B0000 0013D000 C:\WINDOWS\system32\OLE32.DLL
770F0000 0008B000 C:\WINDOWS\system32\OLEAUT32.DLL
4EBA0000 001A6000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.5512_x-ww_dfb54e0c\GDIPLUS.DLL
5B150000 00038000 C:\WINDOWS\system32\UxTheme.dll
72CA0000 00009000 C:\WINDOWS\system32\wdmaud.drv
76BF0000 0002E000 C:\WINDOWS\system32\WINTRUST.dll
77A50000 00096000 C:\WINDOWS\system32\CRYPT32.dll
77Application Internal Error - Z:\Pruebas\Payaso\Samplers.Exe
Terminated at: 2015-11-20 16:48:39
Error irrecuperable 6005: Exception error:
Exception Code:C0000005 ACCESS_VIOLATION
Exception Address:10137737
EAX:01A3FC9C EBX:00000000 ECX:00000001 EDX:00000000
ESI:10137737 EDI:001C6D80 EBP:01A3FCCC
CS:EIP:001B:10137737 SS:ESP:0023:01A3FC84
DS:0023 ES:0023 FS:003B GS:0000
Flags:00010246
Exception Parameters: 00000000 10137737
CS:EIP:
SS:ESP: 7C937E71 001C6D80 00000000 01AD7E78 01A3FD14 00000000 00000014 00000001 00000000 00000000 00000010 01A3FEF0 01A3FC90 01A3F8A8 01A3FFDC 7C91E900
C stack:
EIP: EBP: Frame: OldEBP, RetAddr, Params...
10137737 01A3FCCC 01A3FCF8 7C939D7C 10137737 001C6D80 00000000 00000000 00000000 00000001 00000000 01A3FCEC
7C939D7C 01A3FCF8 01A3FFB4 7C939CCA 01AD7E78 00000030 00000020 00000018 00000000 7C98C980 7C98C980 00000204
7C939CCA 01A3FFB4 01A3FFEC 7C80B713 00000000 00000020 00000018 00000000 7FFD7000 C0000005 01A3FFC0 01A3F8A8
Modules:
00400000 00376000 Z:\Pruebas\Payaso\Samplers.Exe
7C910000 000B5000 C:\WINDOWS\system32\ntdll.dll
7C800000 00103000 C:\WINDOWS\system32\kernel32.dll
77DA0000 000AC000 C:\WINDOWS\system32\ADVAPI32.DLL
77E50000 00092000 C:\WINDOWS\system32\RPCRT4.dll
77FC0000 00011000 C:\WINDOWS\system32\Secur32.dll
72F80000 00026000 C:\WINDOWS\system32\WINSPOOL.DRV
77EF0000 00049000 C:\WINDOWS\system32\GDI32.dll
7E390000 00091000 C:\WINDOWS\system32\USER32.dll
77BE0000 00058000 C:\WINDOWS\system32\msvcrt.dll
773A0000 00103000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\COMCTL32.DLL
77F40000 00076000 C:\WINDOWS\system32\SHLWAPI.dll
76360000 0004A000 C:\WINDOWS\system32\COMDLG32.DLL
7E6A0000 00821000 C:\WINDOWS\system32\SHELL32.dll
76330000 00005000 C:\WINDOWS\system32\MSIMG32.DLL
76B00000 0002E000 C:\WINDOWS\system32\WINMM.DLL
774B0000 0013D000 C:\WINDOWS\system32\OLE32.DLL
770F0000 0008B000 C:\WINDOWS\system32\OLEAUT32.DLL
4EBA0000 001A6000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.5512_x-ww_dfb54e0c\GDIPLUS.DLL
5B150000 00038000 C:\WINDOWS\system32\UxTheme.dll
72CA0000 00009000 C:\WINDOWS\system32\wdmaud.drv
76BF0000 0002E000 C:\WINDOWS\system32\WINTRUST.dll
77A50000 00096000 C:\WINDOWS\system32\CRYPT32.dll
77AF0000 00012000 C:\WINDOWS\system32\MSASN1.dll
76C50000 00028000 C:\WINDOWS\system32\IMAGEHLP.dll
72C90000 00008000 C:\WINDOWS\system32\msacm32.drv
77BB0000 00015000 C:\WINDOWS\system32\MSACM32.dll
77BA0000 00007000 C:\WINDOWS\system32\midimap.dll
76F90000 0007F000 C:\WINDOWS\system32\CLBCATQ.DLL
77010000 000D0000 C:\WINDOWS\system32\COMRes.dll
77BD0000 00008000 C:\WINDOWS\system32\VERSION.dll
73E90000 0005C000 C:\WINDOWS\system32\DSOUND.DLL
73E60000 00004000 C:\WINDOWS\system32\KsUser.dll
Called from SYSREFRESH(0)
Called from BTNPLAYSND(449) in Luis.prg
Called from BTNPLAYSND(449) in Luis.prg
Called from TBUTTONBMP:CLICK(176) in .\source\classes\BUTTON.PRG
Called from TBUTTONBMP:CLICK(176) in .\source\classes\BUTTON.PRG
Called from TBUTTONBMP:HANDLEEVENT(214) in .\source\classes\BUTTONB.PRG
Called from _FWH(3553) in .\source\classes\WINDOW.PRG
Called from SENDMESSAGE(0)
Called from TDIALOG:COMMAND(413) in .\source\classes\DIALOG.PRG
Called from TDIALOG:COMMAND(413) in .\source\classes\DIALOG.PRG
Called from TWINDOW:HANDLEEVENT(0)
Called from TDIALOG:HANDLEEVENT(905) in .\source\classes\DIALOG.PRG
Called from _FWH(3553) in .\source\classes\WINDOW.PRG
Called from DIALOGBOX(0)
Called from TDIALOG:ACTIVATE(293) in .\source\classes\DIALOG.PRG
Called from SAMPLERS(76) in Luis.prg
Called from TWINDOW:ACTIVATE(1006) in .\source\classes\WINDOW.PRG
Called from MAIN(33) in Luis.prg
------------------------------------------------------------------------
Saludos..