В общем пытаюсь загрузить 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;
}
Под виндовс все работает - звук проигрывается.
Под андройдом тишина, при этом никаких сообщений об ошибках не возникает.
Что я упускаю? В чем может быть проблема?