Russian Qt Forum

Qt => Мультимедиа => Тема начата: Dmitry_Nik от Сентябрь 02, 2009, 12:27



Название: Воспроизведение аудио через Phonon
Отправлено: Dmitry_Nik от Сентябрь 02, 2009, 12:27
Всем доброго времени суток!
Во-первых, исходные данные - Qt 4.5 MinGW, Windows XP SP1.
Создан поток через QThread, посредством которого получаю непрерывно некоторые данные типа float. Эти же данные надо еще и проигрывать. Поэтому пользую Phonon (проблем с воспроизведением мультимедиа файлов нет).
В конструктуре класса приложения пишу:
//==========================================
    audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory);
    mediaObject = new Phonon::MediaObject();
    audio = new QBuffer;
    audio->open(QIODevice::ReadWrite);
    mediaObject->setCurrentSource(audio);
    Phonon::createPath(mediaObject, audioOutput);
    mediaObject->play();
//==========================================

Далее в потоке делаю:
//=============================
   QDataStream out(audio);
   for (int k = 0; k < i.size(); k++)
       out << i[k] << q[k];
//=============================
i[k], q[k] - float.
Итого, звука нет...
Есть подозрения, что данные надо каким то образом преобразовывать в PCM...
Подскажите кто сталкивался со сходной задачей, чего делать то



Название: Re: Воспроизведение аудио через Phonon
Отправлено: SLiDER от Сентябрь 05, 2009, 15:57
Около года тому назад (а может и больше)  исследовал phonon на предмет вывода через него  непрерывного raw-потока со звуковыми отсчетами. Тогда это было принципиально не возможно. Где-то через полгода прошла информация, что в фонон собрались добавить необходимую абстракцию, но меня это уже мало волновало, phonon  был заменен на RtAudio. Нынешнее состояние дел мне не очень понятно, уже почти ни черта не помню, но копать нужно в сторону AbstractMediaStream. Если разберетесь, отпишитесь в теме, есть остаточный интерес к этому вопросу :)