Page 1 of 1

mci status

Posted: Thu Apr 25, 2019 9:55 pm
by khalidel
hello friends, please can someone debug this piece of code

Code: Select all

If file
IF mci("status "+file) = mci_mode_play
mci("pause "+file)
elseif mci("status "+file) = mci_mode_pause
mci("resume "+file)
endif
endif
i don't know how to combine mci_status_mode with the constant mci_mode_play or pause to work on purebasic. thank you in advance

Re: mci status

Posted: Fri Apr 26, 2019 9:47 am
by infratec
Sorry, no.

Because this code is not working.
So what should I debug :?:

Re: mci status

Posted: Fri Apr 26, 2019 11:26 am
by khalidel
infratec wrote:Sorry, no.

Because this code is not working.
So what should I debug :?:
hello, to debug means make it work using mci_status_mode and mci_mode_play or pause using the correct pb code. i found examples in other programming languages but not in pb. the aim is to pause a sound when it's played and resume it when it's suspended. this piece of code is related to a menuitem action.

Re: mci status

Posted: Fri Apr 26, 2019 11:40 am
by the.weavster
PureBasic doesn't have a command named mci.

Re: mci status

Posted: Fri Apr 26, 2019 11:41 am
by infratec
So you mean not debug,
you mean:

Show me a working example code which makes use of the status mciSendString_() parameter.

Is this correct?

You know that this will never work with the Demo version of PB?

Re: mci status

Posted: Fri Apr 26, 2019 12:32 pm
by khalidel
infratec wrote:So you mean not debug,
you mean:

Show me a working example code which makes use of the status mciSendString_() parameter.

Is this correct?

You know that this will never work with the Demo version of PB?
debug is to correct wrong code of a program. yes, i know that. am not on demo. i want to know the correct code of using mci-status-mode. i tried to adapt other languages examples to pb but no result till now.

Re: mci status

Posted: Fri Apr 26, 2019 12:55 pm
by infratec
Hi,

a fast coded test:

Code: Select all

#Filename$ = "c:\tmp\bkk.wav"



mciSendString_("close MediaFile", #Null, 0, #Null)


error = mciSendString_("open " + #DQUOTE$ + #FileName$ + #DQUOTE$ + " alias MediaFile", #Null, 0, #Null)
If error = 0
  
  error = mciSendString_("play MediaFile", #Null, 0, #Null)
  If error = 0
    Delay(1000)
    
    *Buffer = AllocateMemory(1024)
    error = mciSendString_("status MediaFile mode" , *Buffer, 512, #Null)
    Debug PeekS(*Buffer)
    FreeMemory(*Buffer)
    
    Delay(2000)
    
    error = mciSendString_("pause MediaFile", #Null, 0, #Null)
    
    *Buffer = AllocateMemory(1024)
    error = mciSendString_("status MediaFile mode" , *Buffer, 512, #Null)
    Debug PeekS(*Buffer)
    FreeMemory(*Buffer)
    
    Delay(1000)
    
    error = mciSendString_("resume MediaFile", #Null, 0, #Null)
    
    *Buffer = AllocateMemory(1024)
    error = mciSendString_("status MediaFile mode" , *Buffer, 512, #Null)
    Debug PeekS(*Buffer)
    FreeMemory(*Buffer)
    
    Delay(3000)
    
    error = mciSendString_("stop MediaFile", #Null, 0, #Null)
    
    *Buffer = AllocateMemory(1024)
    error = mciSendString_("status MediaFile mode" , *Buffer, 512, #Null)
    Debug PeekS(*Buffer)
    FreeMemory(*Buffer)
    
    mciSendString_("close MediaFile", #Null, 0, #Null)
    
  Else
    *Buffer = AllocateMemory(1024)
    mciGetErrorString_(error, *Buffer, 512)
    Debug PeekS(*Buffer)
    FreeMemory(*Buffer)
  EndIf
Else
  
  *Buffer = AllocateMemory(1024)
    mciGetErrorString_(error, *Buffer, 512)
    Debug PeekS(*Buffer)
    FreeMemory(*Buffer)
  
EndIf
Of course you have to use an other filename :wink:
And it should be longer then 8 seconds.

Re: mci status

Posted: Fri Apr 26, 2019 4:09 pm
by khalidel
infratec wrote:Hi,

a fast coded test:

Code: Select all

#Filename$ = "c:\tmp\bkk.wav"



mciSendString_("close MediaFile", #Null, 0, #Null)


error = mciSendString_("open " + #DQUOTE$ + #FileName$ + #DQUOTE$ + " alias MediaFile", #Null, 0, #Null)
If error = 0
  
  error = mciSendString_("play MediaFile", #Null, 0, #Null)
  If error = 0
    Delay(1000)
    
    *Buffer = AllocateMemory(1024)
    error = mciSendString_("status MediaFile mode" , *Buffer, 512, #Null)
    Debug PeekS(*Buffer)
    FreeMemory(*Buffer)
    
    Delay(2000)
    
    error = mciSendString_("pause MediaFile", #Null, 0, #Null)
    
    *Buffer = AllocateMemory(1024)
    error = mciSendString_("status MediaFile mode" , *Buffer, 512, #Null)
    Debug PeekS(*Buffer)
    FreeMemory(*Buffer)
    
    Delay(1000)
    
    error = mciSendString_("resume MediaFile", #Null, 0, #Null)
    
    *Buffer = AllocateMemory(1024)
    error = mciSendString_("status MediaFile mode" , *Buffer, 512, #Null)
    Debug PeekS(*Buffer)
    FreeMemory(*Buffer)
    
    Delay(3000)
    
    error = mciSendString_("stop MediaFile", #Null, 0, #Null)
    
    *Buffer = AllocateMemory(1024)
    error = mciSendString_("status MediaFile mode" , *Buffer, 512, #Null)
    Debug PeekS(*Buffer)
    FreeMemory(*Buffer)
    
    mciSendString_("close MediaFile", #Null, 0, #Null)
    
  Else
    *Buffer = AllocateMemory(1024)
    mciGetErrorString_(error, *Buffer, 512)
    Debug PeekS(*Buffer)
    FreeMemory(*Buffer)
  EndIf
Else
  
  *Buffer = AllocateMemory(1024)
    mciGetErrorString_(error, *Buffer, 512)
    Debug PeekS(*Buffer)
    FreeMemory(*Buffer)
  
EndIf
Of course you have to use an other filename :wink:
And it should be longer then 8 seconds.
ok i'll test it asap