Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. In MAC Send/Write audio data on partcular output channel of audio device
QtWS25 Last Chance

In MAC Send/Write audio data on partcular output channel of audio device

Scheduled Pinned Locked Moved Unsolved General and Desktop
7 Posts 2 Posters 456 Views
  • 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.
  • R Offline
    R Offline
    Ritesh2204
    wrote on last edited by Ritesh2204
    #1

    I want to know that in MAC using QT audio APIs like QAudioSource, QaudioSink and QAudioDevice we can detect device, we can know mx output channels also but how can we know those output channel names
    And main question is if you want to stream audio on particular output channel then how you can do it.
    For e.g. if you are using dante virtual soundcard then in windows if it's WDM mode then you OS will detect all WDM stereo channels as seperate WDM device itself so you can select that particular channel and send audio data.
    But in MAC your OS will just detect the device name and let's say you want to send audio data on particularly 6th channel of dante virtual souncard so how can i do it using QT audio APIs or i will have to use coreAudio API itself.
    For routing i kno i can use Dante controller all m trying to know how to send/ write data on particular output channel of output device in MAC.

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi and welcome to devnet,

      Until Qt 6.5, Qt uses the system API so if it does not show one device per channel on your system Qt won't be able to access them.

      Since Qt 6.5, there is an ffmpeg backend, it might be able to provide more support for your use case.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      R 1 Reply Last reply
      0
      • SGaistS SGaist

        Hi and welcome to devnet,

        Until Qt 6.5, Qt uses the system API so if it does not show one device per channel on your system Qt won't be able to access them.

        Since Qt 6.5, there is an ffmpeg backend, it might be able to provide more support for your use case.

        R Offline
        R Offline
        Ritesh2204
        wrote on last edited by
        #3

        @SGaist Hi, I guess in Qt it's hard to stream audio on particular channel in MAC.
        Now i am thinking to either use coreAudio API itself or for windows ASIO i use portaudio library so imight use same here.
        Though initially i wanted to try with QT audio APIs itself as it would be very easy.

        SGaistS 1 Reply Last reply
        0
        • R Ritesh2204

          @SGaist Hi, I guess in Qt it's hard to stream audio on particular channel in MAC.
          Now i am thinking to either use coreAudio API itself or for windows ASIO i use portaudio library so imight use same here.
          Though initially i wanted to try with QT audio APIs itself as it would be very easy.

          SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          Which version of Qt are you using ?
          I remember writing a cross platform PortAudio based QIODevice that I used as output for Qt Multimedia in Qt 5.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          R 1 Reply Last reply
          0
          • SGaistS SGaist

            Which version of Qt are you using ?
            I remember writing a cross platform PortAudio based QIODevice that I used as output for Qt Multimedia in Qt 5.

            R Offline
            R Offline
            Ritesh2204
            wrote on last edited by Ritesh2204
            #5

            @SGaist I am using Qt 6.4. In Qt 6+ multimedia APIs have changed but i think functionality is kinda same. In windows WDM mode it's easy with Qt audio API, for ASIO I use portaudio.
            Now again for MAC, QT audio APIs i think will able to detect the device and give me total no. of channels but problem is if i want to stream on particular channel then i don't think Qt audio APIs can handle it. There are channelCount and ChannelConifg functions are there in QAudioFormat but i don't think i can still reach to specific channel.

            1 Reply Last reply
            0
            • R Offline
              R Offline
              Ritesh2204
              wrote on last edited by Ritesh2204
              #6

              Actually i thought maximumChannelCount function in QAudioDevice (QAudioDeviceInfo in Qt 5.15 or Qt <6) will able to give me channels but it's not the case it's just giving supported channels. And on mac i don't know why i am getting "audio device has unknown channel 'some no.' " with Qt audio APIs and this error will come acc to whatever device channel i am selecting. For e.g i f i am selecting 8*8 channel then "audio device has unknown channel 'some no.' " error will come 8 times.

              SGaistS 1 Reply Last reply
              0
              • R Ritesh2204

                Actually i thought maximumChannelCount function in QAudioDevice (QAudioDeviceInfo in Qt 5.15 or Qt <6) will able to give me channels but it's not the case it's just giving supported channels. And on mac i don't know why i am getting "audio device has unknown channel 'some no.' " with Qt audio APIs and this error will come acc to whatever device channel i am selecting. For e.g i f i am selecting 8*8 channel then "audio device has unknown channel 'some no.' " error will come 8 times.

                SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #7

                I think you have a use case that shows the limit of the current implementation.

                You should open a bug report to explain your situation and issue.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                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