Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. how to stop ringtone in qt android
Qt 6.12 LTS is out! See what's new in the release blog

how to stop ringtone in qt android

Scheduled Pinned Locked Moved Solved Mobile and Embedded
13 Posts 4 Posters 2.8k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • raven-worxR raven-worx

    @gotronics
    at what point does your code exactly fail?
    here if ( ring.isValid() )?

    Also note that many methods require to be called from Android's UI thread (which Qt code doesn't by default!).
    For this you can use QtAndroid::runOnAndroidThreadSync()

    But also its very likely that the console output (or LogCat) already gives some clues what is going wrong your case.

    G Offline
    G Offline
    gotronics
    wrote on last edited by
    #4

    @raven-worx
    thank you for the reply

    @gotronics said in how to stop ringtone in qt android:

    ring.callMethod<void>("stopPreviousRingtone");
    //ring.callObjectMethod("android/media/Ringtone","setVolume", "(F)V", 0);

    if(ring. is valid) is ok because it rings or the phone rings very well

    the problem is to stop it after 2 seconds by the
    the following functions are not working

    ring.callMethod<void>("stopPreviousRingtone");

    ring.callMethod<void>("setStopPreviousRingtone", "(Z)V", true);

    ring.callMethod<jboolean>("android/media/Ringtone","isPlaying", "(Z)V")

    1 Reply Last reply
    0
    • raven-worxR raven-worx

      @gotronics
      at what point does your code exactly fail?
      here if ( ring.isValid() )?

      Also note that many methods require to be called from Android's UI thread (which Qt code doesn't by default!).
      For this you can use QtAndroid::runOnAndroidThreadSync()

      But also its very likely that the console output (or LogCat) already gives some clues what is going wrong your case.

      G Offline
      G Offline
      gotronics
      wrote on last edited by
      #5
      This post is deleted!
      1 Reply Last reply
      0
      • raven-worxR raven-worx

        @gotronics
        at what point does your code exactly fail?
        here if ( ring.isValid() )?

        Also note that many methods require to be called from Android's UI thread (which Qt code doesn't by default!).
        For this you can use QtAndroid::runOnAndroidThreadSync()

        But also its very likely that the console output (or LogCat) already gives some clues what is going wrong your case.

        G Offline
        G Offline
        gotronics
        wrote on last edited by
        #6
        This post is deleted!
        1 Reply Last reply
        0
        • raven-worxR raven-worx

          @gotronics
          at what point does your code exactly fail?
          here if ( ring.isValid() )?

          Also note that many methods require to be called from Android's UI thread (which Qt code doesn't by default!).
          For this you can use QtAndroid::runOnAndroidThreadSync()

          But also its very likely that the console output (or LogCat) already gives some clues what is going wrong your case.

          G Offline
          G Offline
          gotronics
          wrote on last edited by
          #7

          @raven-worx
          sorry if you check again my code i corrected were i had initially commented
          ring.callMethod<void>("play");

          raven-worxR 1 Reply Last reply
          0
          • G gotronics

            @raven-worx
            sorry if you check again my code i corrected were i had initially commented
            ring.callMethod<void>("play");

            raven-worxR Offline
            raven-worxR Offline
            raven-worx
            Moderators
            wrote on last edited by raven-worx
            #8

            @gotronics
            the JNI signature for your isPlaying call is wrong. Should rather be ()Z (not (Z)V)

            Beside that i do not see the methods setStopPreviousRingtone and stopPreviousRingtone in the Ringtone class

            --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
            If you have a question please use the forum so others can benefit from the solution in the future

            G 1 Reply Last reply
            0
            • raven-worxR raven-worx

              @gotronics
              the JNI signature for your isPlaying call is wrong. Should rather be ()Z (not (Z)V)

              Beside that i do not see the methods setStopPreviousRingtone and stopPreviousRingtone in the Ringtone class

              G Offline
              G Offline
              gotronics
              wrote on last edited by
              #9

              @raven-worx
              setStopPreviousRingtone and stopPreviousRingtone are from RingToneManager
              so used incorrectly in RingTone class. I have corrected there and i can now stop the ringtone using this ring.call("stop", "()V");
              and ring.callMethod<jboolean>("isPlaying", "()Z")) now working
              thank you very much.

              i still have challenge on the following

              QString str;
                QMessageBox::information(this, " Volume", str.setNum(ring.callMethod<jfloat>("getVolume", "()F")));
              

              i am getting 0 even though the ringtone volume is way above 0 level

              1 Reply Last reply
              0
              • raven-worxR raven-worx

                @gotronics
                at what point does your code exactly fail?
                here if ( ring.isValid() )?

                Also note that many methods require to be called from Android's UI thread (which Qt code doesn't by default!).
                For this you can use QtAndroid::runOnAndroidThreadSync()

                But also its very likely that the console output (or LogCat) already gives some clues what is going wrong your case.

                G Offline
                G Offline
                gotronics
                wrote on last edited by
                #10

                @raven-worx
                setStopPreviousRingtone and stopPreviousRingtone are from RingToneManager
                so used incorrectly in RingTone class. I have corrected there and i can now stop the ringtone using this ring.call("stop", "()V");
                and ring.callMethod<jboolean>("isPlaying", "()Z")) now working
                thank you very much.

                i still have challenge on the following

                QString str;
                QMessageBox::information(this, " Volume", str.setNum(ring.callMethod<jfloat>("getVolume", "()F")));
                i am getting 0 even though the ringtone volume is way above 0 level

                1 Reply Last reply
                0
                • raven-worxR raven-worx

                  @gotronics
                  at what point does your code exactly fail?
                  here if ( ring.isValid() )?

                  Also note that many methods require to be called from Android's UI thread (which Qt code doesn't by default!).
                  For this you can use QtAndroid::runOnAndroidThreadSync()

                  But also its very likely that the console output (or LogCat) already gives some clues what is going wrong your case.

                  G Offline
                  G Offline
                  gotronics
                  wrote on last edited by
                  #11

                  @raven-worx

                  i have been going through android api and discovered that getVolume() was introduced in API 28 its not working because i am using API19
                  thank you very much

                  1 Reply Last reply
                  0
                  • R Offline
                    R Offline
                    Ruiz
                    Banned
                    wrote on last edited by
                    #12
                    This post is deleted!
                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      Massimiliano11
                      wrote on last edited by
                      #13
                      This post is deleted!
                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt
                      • Unsolved