День добрый.
Задача - написать небольшой проигрыватель видео с реализацей выбора аудиодорожки.
VideoService::VideoService()
{
_pPhononMediaObject = new Phonon::MediaObject();
_pPhononMediaController = new Phonon::MediaController(_pPhononMediaObject);
_pPhononAudioOutput = new Phonon::AudioOutput(Phonon::VideoCategory);
Phonon::Path path = Phonon::createPath(_pPhononMediaObject, _pPhononAudioOutput);
bool b = connect(_pPhononMediaController, SIGNAL(availableAudioChannelsChanged()), this, SLOT(AudioChannelsAreAvailable()));
}
//---------------------------------------------------------------------------
// Обработка распознавания аудио дорожек
//---------------------------------------------------------------------------
void VideoService::AudioChannelsAreAvailable()
{
QList<Phonon::AudioChannelDescription> channels = _pPhononMediaController->availableAudioChannels();
}
Проблема - _pPhononMediaController не эмитит сигнал availableAudioChannelsChanged.
На любом этапе проигрывания _pPhononMediaController->availableAudioChannels() возвращает пустой массив.
Среда - Windows7, Qt 4.6.3, проигрывание в Phonon::VideoWidget.
На форуме подобная тема поднималась почти год назад, но невнятно замялась.
Код написан после изучения исходников VLC && kaffeine.
Заранее спасибо.