RabraBabr
@RabraBabr

Почему на Андройд не проигрывается wav файл загруженный в QBuffer с Помощью QMediaPlayer?

В общем пытаюсь загрузить wav файл в QBuffer и проигрывать его в QMediaPlayer листинг кода внизу:
QMediaPlayer* m_channel[6];
        QAudioOutput* m_audioOutput[6];
        void create ()
        {
            for(int a1=0; a1<6; a1++)
            {
                m_channel[a1] = new QMediaPlayer();
                m_audioOutput[a1] = new QAudioOutput();
                m_channel[a1]->setAudioOutput(m_audioOutput[a1]);
            }
        }

        QBuffer* buffer = nullptr;
        void load (QString path)
        {
            QFile file(path);
            file.open(QIODevice::ReadOnly);
            QByteArray* arr = new QByteArray(file.readAll());
            file.close();
            buffer = new QBuffer(arr);
            buffer->open(QIODevice::ReadOnly);
            buffer->seek(0);
        }

    inline int playSFX(SoundFX *num)
    {
        bool found=false;
        int chan_n=-1;
        for (int a1=0; a1<6; a1++)
        {
            if (!found)
            {
                if (m_channel[a1]->playbackState()==QMediaPlayer::StoppedState)
                {
                    m_channel[a1]->setSourceDevice(num->buffer,QUrl("some.wav"));
                    m_channel[a1]->play();
                    found=true;
                    chan_n=a1;
                }
            }
        }
        return chan_n;
    }


Под виндовс все работает - звук проигрывается.
Под андройдом тишина, при этом никаких сообщений об ошибках не возникает.
Что я упускаю? В чем может быть проблема?
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы