Italian Mp3 e chiamata in arrivo

Discussion in 'Italian Forum' started by Giusy, Aug 22, 2018.

  1. Giusy

    Giusy Active Member Licensed User

    Salve a tutti,
    Testando la mia app mi sono accorta che, mentre suona un mp3 ed arriva una chiamata, rispondendo continuo a sentire sia mp3 che la voce del chiamante.
    Come posso intercettare la chiamata in arrivo ed interrompere "play"?
    Grazie
     
  2. LucaMs

    LucaMs Expert Licensed User

    Giusy likes this.
  3. Giusy

    Giusy Active Member Licensed User

    Mille grazie @LucaMs
    Buona giornata :)
     
    LucaMs likes this.
  4. LucaMs

    LucaMs Expert Licensed User

    Altrettanto :)
     
    Giusy likes this.
  5. Giusy

    Giusy Active Member Licensed User

    Ciao @LucaMs, ho inserito queste istruzioni e la mia app ha lanciato un grido di dolore.
    Code:
    Dim PhoneId As PhoneId
    Dim PE As PhoneEvents
    PE.InitializeWithPhoneState(
    "PE"PhoneId)  'sottolineato in violetto

    Sub PE_PhoneStateChanged (State As String, IncomingNumber As StringIntent As Intent)
        
    If State = "RINGING" Then
        
    '....   
        End If
    End Sub
    Aiuto :(
     
  6. LucaMs

    LucaMs Expert Licensed User

    Quasi certamente perché hai dato alla variabile lo stesso nome dell'oggetto classe PhoneID. Premetti una bella "m", Dim mPhoneID As PhoneID
     
  7. LucaMs

    LucaMs Expert Licensed User

    No, non è quello... appena potrò...!
     
  8. LucaMs

    LucaMs Expert Licensed User

    Ho provato, inserendo il tuo stesso codice nel modulo di servizio Starter e funziona:

    Code:
    Sub Process_Globals
       
    Private PhoneId As PhoneId
       
    Private PE As PhoneEvents
    End Sub

    Sub Service_Create
       PE.InitializeWithPhoneState(
    "PE"PhoneId)
    End Sub

    Sub Service_Destroy
       PE.StopListening
    End Sub

    Sub PE_PhoneStateChanged (State As String, IncomingNumber As StringIntent As Intent)
       
    Log("State: " & State)
       
    Log("Num  : " & IncomingNumber)
       
    If IncomingNumber = "123456789* Then
            CallSubDelayed(NomeDellaActivityCheContieneIlPlayer, "StopPlaying")
       
    End If
    End Sub
    Non so perché a te no; qualche incompatibilità con altro codice?

    Comunque vale la pena mettere il codice nello Starter. Dovendo poi fermare il player, puoi chiamare una routine del modulo in cui esso è stato dichiarato, ad esempio:

    CallSubDelayed(NomeDellaActivityCheContieneIlPlayer, "StopPlaying")

    e fermare il player nella Sub StopPlaying.
     
    Giusy likes this.
  9. Giusy

    Giusy Active Member Licensed User

    Come da tuo suggerimento ho sostituito PhoneID con mPhoneID
    Code:
    Dim mPhoneId As PhoneId
    Dim PE As PhoneEvents

    'in activity create
    PE.InitializeWithPhoneState("PE", mPhoneId)


    Sub PE_PhoneStateChanged (State As String, IncomingNumber As StringIntent As Intent)
        
    If State = "RINGING" Then
          
    if sp.isplaying then
                  bottonepausa_click   
        
    End If
    End Sub
    Funziona alla perfezione. Posso lasciare tutto così senza usare starter vero?
    (Funzionerà allo stesso modo con B4I?)
     
  10. LucaMs

    LucaMs Expert Licensed User

    Non mi piacciono le Mele :D, quindi non lo so.
     
    Giusy likes this.
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice