Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Phonon on symbian

Phonon on symbian

Scheduled Pinned Locked Moved Mobile and Embedded
12 Posts 4 Posters 6.2k 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.
  • V Offline
    V Offline
    vinb
    wrote on last edited by
    #2

    Hi put this in your pro file please:
    Qt += core gui phonon

    1 Reply Last reply
    0
    • L Offline
      L Offline
      leon.anavi
      wrote on last edited by
      #3

      Wow... I just saw the same topic in Italian and used Google Translate to understand it :D

      vinb suggestion is correct! I has able to build you demo project by adding this line to test2.pro :

      @QT += core gui phonon@

      Best regards,
      Leon

      P.S.

      Qt not QT :)

      http://anavi.org/

      1 Reply Last reply
      0
      • G Offline
        G Offline
        gaucho
        wrote on last edited by
        #4

        Thank you Bro,
        Happy to know it's not a dead forum.
        now that it works,
        i added the remaining part of the code in file mainWindow.cpp:

        @
        #include <phonon/AudioOutput>
        #include <phonon/MediaObject>
        #include <phonon/MediaSource>@

        and in sub on_pushButton_clicked() i added:

              @
              Phonon::AudioOutput* pAudioOutput;
              pAudioOutput = new Phonon::AudioOutput(  Phonon::MusicCategory,  this);
              Phonon::MediaObject* pMediaObject ;
              pMediaObject = new Phonon::MediaObject(this);
              Phonon::createPath(pMediaObject, pAudioOutput);
              QString url= QString("e:\\Scream.wav");
              Phonon::MediaSource mediaSource = Phonon::MediaSource(url);
              pMediaObject ->setCurrentSource( mediaSource);
              pMediaObject->play();@
        

        then i copied the file Scream.wav in the external memory (e:)
        I verified that i can listen to this file on the default player of the phone.
        And when i run the code, and press the button, the phone plays the wav.
        Very good.

        Now: How can i change the output device, choosing from available outputs? (for example in case i have 2 bluetooth headphone connected, and i want to stream a file only to one of these headphone).
        I'll study on this question.

        1 Reply Last reply
        0
        • L Offline
          L Offline
          leon.anavi
          wrote on last edited by
          #5

          Hi gaucho,

          I am glad that the issue with audiooutput.h is solved.

          [quote author="gaucho" date="1304086502"]
          Now: How can i change the output device, choosing from available outputs? (for example in case i have 2 bluetooth headphone connected, and i want to stream a file only to one of these headphone).
          I'll study on this question.
          [/quote]

          May be such a question deserves a separate thread :) I am not sure that Qt have such capabilities but if you are developing an app for Symbian (after all the forum title is Mobile and Embedded :) ) you can use Symbian C++ code to make "audio output routing ":http://wiki.forum.nokia.com/index.php/Audio_Routing_API_–_Input_and_Output

          Cheers,
          Leon

          http://anavi.org/

          1 Reply Last reply
          0
          • G Offline
            G Offline
            gaucho
            wrote on last edited by
            #6

            Thank you Leon,
            i found that article yesterday, but may be it's not the right class to use,
            because the possible routes are only:

            @enum TAudioOutputPreference {

            ENoPreference, /// Used to indicate that the playing audio can be routed to
            /// any speaker. This is the default value for audio.

            EAll, /// Used to indicate that the playing audio should be routed
            /// to all speakers.

            ENoOutput, /// Used to indicate that the playing audio should not be routed
            /// to any output.

            EPrivate, /// Used to indicate that the playing audio should be routed to
            /// the default private speaker. A private speaker is one that
            /// can only be heard by one person.

            EPublic, /// Used to indicate that the playing audio should be routed to
            /// the default public speaker. A public speaker is one that can
            /// be heard by multiple people.
            };@

            i can't read in that article, how to obtain and select available devices.

            Maybe instead,
            i can obtain available output devices with the following:

            @QListPhonon::AudioOutputDevice audioOutputDevices = Phonon::BackendCapabilities::availableAudioOutputDevices();@

            1 Reply Last reply
            0
            • L Offline
              L Offline
              leon.anavi
              wrote on last edited by
              #7

              [quote author="gaucho" date="1304154523"]i can't read in that article, how to obtain and select[/quote]

              According to this article you can route the audio output to the default private speaker (EPrivate) and there should not be more that one default private speaker.
              [quote author="gaucho" date="1304154523"]
              Maybe instead,
              i can obtain available output devices with the following:

              @QListPhonon::AudioOutputDevice audioOutputDevices = Phonon::BackendCapabilities::availableAudioOutputDevices();@[/quote]

              Did you manage to obtain available devices using this approach?

              Best regards,
              Leon

              http://anavi.org/

              1 Reply Last reply
              0
              • G Offline
                G Offline
                gaucho
                wrote on last edited by
                #8

                I added to my project a combobox,
                then i added the following include:
                @#include < phonon/BackendCapabilities > @
                and, on window creation routine, the following code:
                @ QListPhonon::AudioOutputDevice devices = Phonon::BackendCapabilities::availableAudioOutputDevices();

                    for (int i=0; i<devices.size(); i++){
                        QString itemText = devices[i].name();
                        if (!devices[i].description().isEmpty()) {
                            itemText += QString::fromLatin1(" (%1)").arg(devices[i].description());
                        }
                        ui->comboBox->addItem(itemText);
                    }@
                    The combobox populates with only one value, even if i connect a bluetooth headphone.
                    
                    Am i doing something wrong? why i can't obtain 2 output devices?
                    
                    Thank you. 
                
                1 Reply Last reply
                0
                • L Offline
                  L Offline
                  leon.anavi
                  wrote on last edited by
                  #9

                  @QListPhonon::AudioOutputDevice devices = Phonon::BackendCapabilities::availableAudioOutputDevices();
                  @

                  Let's ignore the GUI for a second. How many devices does the QList contain when you connect bluetooth headphone?

                  Regards,
                  Leon

                  http://anavi.org/

                  1 Reply Last reply
                  0
                  • C Offline
                    C Offline
                    Chuck Gao
                    wrote on last edited by
                    #10

                    hi, gaucho, you can try multimediakit.It's more convenient on Symbian development

                    Chuck

                    1 Reply Last reply
                    0
                    • G Offline
                      G Offline
                      gaucho
                      wrote on last edited by
                      #11

                      ok, if you know i can do these thigs i'll try. (i'll let you know).
                      may be i remember it wrong, but it seems to me that multimedia kit doesn't allow you to select the output device, but only the output "type".

                      1 Reply Last reply
                      0
                      • C Offline
                        C Offline
                        Chuck Gao
                        wrote on last edited by
                        #12

                        [quote author="gaucho" date="1305642401"]ok, if you know i can do these thigs i'll try. (i'll let you know).
                        may be i remember it wrong, but it seems to me that multimedia kit doesn't allow you to select the output device, but only the output "type".[/quote]

                        you can get the device list via:
                        QList<QAudioDeviceInfo> QAudioDeviceInfo::availableDevices ( QAudio::Mode mode )
                        and use QAudioOutput to do the play work. You can also specify a output format. The only disadvantage i think, is the API didn't support setVolume function.

                        Chuck

                        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 Extensions
                        • Unsolved