Russian Qt Forum

Qt => Мультимедиа => Тема начата: a10ne от Август 30, 2010, 08:18



Название: Phonon + mp3 + win7
Отправлено: a10ne от Август 30, 2010, 08:18
Есть простой аудиоплеер написанный с использованием фонона, суть его проста - выбираешь папку, он рекурсивно загружает в плейлист все mp3 файлы из нее, и в случайном порядке их воспроизводит, все хорошо пока программа не пытается воспроизвести определенные файлы, назову их "битые", проблема с этими файлами заключается в следующем, фонон просто не хочет их играть, программа не зависает, не выключается, ничего не происходит пока не выбрать другой "нормальный" файл. При этом свойства "нормальных" и "битых" файлов абсолютно одинаковые кроме времени звучания, установка и переустановка различных кодеков, плагинов и тд не приносит никаких изменений. Может кто сталкивался с этим, подскажите в чем может быть проблема.
Информация о системе:
Основан на Qt 4.7.0 (32-х битной)
Собран Jun 21 2010 в 01:56:06
Win7 64x Ultimate
Исходник прилагается


Название: Re: Phonon + mp3 + win7
Отправлено: Sancho_s_rancho от Август 30, 2010, 10:36
Может меня закидают помидорами, но я все-таки выскажусь.
Этот мерзопакостный фонон годен только чтобы быстро реализовать проигрывание медиафайла. Причем лучше заранее знать  формат файла. Реализовывать медиаплеер на фононе - самоубийство.
Кроссплатформенный mplayer (vlc) сделает по команде вашей программы все, что надо и если что не так, то скажет об этом.
пи.си. Посмотрите в сторону smplayer, там код достаточно ясный.


Название: Re: Phonon + mp3 + win7
Отправлено: Авварон от Август 30, 2010, 11:13
Может меня закидают помидорами, но я все-таки выскажусь.
Этот мерзопакостный фонон годен только чтобы быстро реализовать проигрывание медиафайла. Причем лучше заранее знать  формат файла. Реализовывать медиаплеер на фононе - самоубийство.
а девелоперы кедов-то и не знают...
под вин имхо стоит копать в сторону vlc-бэкенда к фонону (он был, а вот жив ли проект сейчас - неизвестно), тк директ-х бэкенд таки корявый, да


Название: Re: Phonon + mp3 + win7
Отправлено: Blackwanderer от Август 30, 2010, 11:50
В свое время баловался немного с phonon, правда под XP.
Тогда же и столкнулся с проблемой кодировки тегов. Проигрывались только фалы с кодировкой тегов Win-1251. Все остальное - нет.
Цитировать
Этот мерзопакостный фонон годен только чтобы быстро реализовать проигрывание медиафайла. Причем лучше заранее знать  формат файла. Реализовывать медиаплеер на фононе - самоубийство.
Проблема не в фононе, а в бэкенде. На самом деле "Этот мерзопакостный DirectShow...".


Название: Re: Phonon + mp3 + win7
Отправлено: Авварон от Август 30, 2010, 11:56
ну на директ шоу я бы не наезжал, ибо не юзал, но как и любой проект мелкософта, засталяет задуматься - почему влц, ксайн, квиктайм и гстример бэкенды работают, а директ иксовый - нет


Название: Re: Phonon + mp3 + win7
Отправлено: Sancho_s_rancho от Август 30, 2010, 12:40
В свое время баловался немного с phonon, правда под XP.
Тогда же и столкнулся с проблемой кодировки тегов. Проигрывались только фалы с кодировкой тегов Win-1251. Все остальное - нет.
Цитировать
Этот мерзопакостный фонон годен только чтобы быстро реализовать проигрывание медиафайла. Причем лучше заранее знать  формат файла. Реализовывать медиаплеер на фононе - самоубийство.
Проблема не в фононе, а в бэкенде. На самом деле "Этот мерзопакостный DirectShow...".
У меня виндовс только на работе, поэтому я писал  большей частью про linux и KDE. Там есть медиаплеер http://www.kde.org/applications/multimedia/dragonplayer/ . Вот он использует Phonon. Звуковую дорожку переключать не умеет, настроек деинтерлейсинга не  имеет, настроек постобработки не имеет. И что-то мне подсказывает. что все эти вещи через Phonon он не получит. И при всем этом грузит процессор в 1.5 раза больше, чем mplayer с полной постобработкой.


Название: Re: Phonon + mp3 + win7
Отправлено: Авварон от Август 30, 2010, 16:43
ясен пень что фонон не имеет всех возможностей влц или мплеера, только вот лично мне они не нужны (да и 90% юзеров тоже). Только 1раз пришлось ковырять настройки мплеера, когда пытался смотреть блюрейный фильм на intel gma 3100.


Название: Re: Phonon + mp3 + win7
Отправлено: a10ne от Август 31, 2010, 08:57
запустил этот код в gentoo, debian, ubuntu и opensuse, все ок, даже в мсвс сразу заиграли эти битые файлы, так что проблема в винде, что делать непонятно


Название: Re: Phonon + mp3 + win7
Отправлено: Sancho_s_rancho от Август 31, 2010, 10:18
запустил этот код в gentoo, debian, ubuntu и opensuse, все ок, даже в мсвс сразу заиграли эти битые файлы, так что проблема в винде, что делать непонятно
По идее phonon  на виндовс должен играть все, что играет встроенный  Windows Media Player. Открывает ли эти файлы он?


Название: Re: Phonon + mp3 + win7
Отправлено: a10ne от Август 31, 2010, 10:24
Цитировать
По идее phonon  на виндовс должен играть все, что играет встроенный  Windows Media Player. Открывает ли эти файлы он?

да


Название: Re: Phonon + mp3 + win7
Отправлено: a10ne от Сентябрь 01, 2010, 08:25
в общем проблема оказалась в том, что если в файле присутствуют файлы с тегами ID3v2, то фонон просто зависал, в винде проблема решается только удалением из файла тегов 2й версии, по другому проигрывать пока не получается


Название: Re: Phonon + mp3 + win7
Отправлено: pastor от Сентябрь 01, 2010, 10:39
Попробуй взглянуть еще на Qt Mobility (Multimedia module)

http://doc.qt.nokia.com/qtmobility-1.0/multimedia.html


Название: Re: Phonon + mp3 + win7
Отправлено: a10ne от Сентябрь 01, 2010, 12:34
Цитировать
Попробуй взглянуть еще на Qt Mobility (Multimedia module)

http://doc.qt.nokia.com/qtmobility-1.0/multimedia.html

как это может помочь?


Название: Re: Phonon + mp3 + win7
Отправлено: pastor от Сентябрь 01, 2010, 12:44
как это может помочь?

Может, покрайней мере стоит попробовать. В экзамплах есть готовый аудиоплеер, можно проверить воспроизведение "битых" файлов через него.


Название: Re: Phonon + mp3 + win7
Отправлено: Sancho_s_rancho от Сентябрь 01, 2010, 13:16
Цитировать
Попробуй взглянуть еще на Qt Mobility (Multimedia module)

http://doc.qt.nokia.com/qtmobility-1.0/multimedia.html

как это может помочь?
Multimedia module - замена Phonon (в документации об этом написано явно). На нем тоже можно лабать всякие медиаплееры. На практике у меня он только картинки смог открыть, не звука, не видео. Ждать что что-то изменится для виндовс в ближайшее время не стоит. У Nokia есть приоритет - эта фигня должна заработать на maemo/MeeGo к моменту выхода наследника n900.


Название: Re: Phonon + mp3 + win7
Отправлено: pastor от Сентябрь 01, 2010, 13:41
Multimedia module - замена Phonon (в документации об этом написано явно). На нем тоже можно лабать всякие медиаплееры. На практике у меня он только картинки смог открыть, не звука, не видео. Ждать что что-то изменится для виндовс в ближайшее время не стоит. У Nokia есть приоритет - эта фигня должна заработать на maemo/MeeGo к моменту выхода наследника n900.

У меня лично работает и аудио и видео (Windows, Linux, MeeGo). Уже написано несколько вьюверов и медиаплееров под MeeGo (тестировалось на десктопе). Не без проблем, конечно, но работает.


Название: Re: Phonon + mp3 + win7
Отправлено: a10ne от Сентябрь 01, 2010, 14:03
Цитировать
У меня лично работает и аудио и видео (Windows, Linux, MeeGo). Уже написано несколько вьюверов и медиаплееров под MeeGo (тестировалось на десктопе). Не без проблем, конечно, но работает.

можешь показать хотя бы один пример, а то у меня с ним тоже какие то проблемы, но помоему тут уже моя вина


Название: Re: Phonon + mp3 + win7
Отправлено: pastor от Сентябрь 01, 2010, 14:55
Впринципе полная аналогия примера из документации. Возможно у тебя неправильный QUrl на локальный видео(аудио) файл.

Вот минимальные рабочие примеры (снова таки из документации):

//audio

Код
C++ (Qt)
QMediaPlayer *player = new QMediaPlayer;
 
player->setMedia(QUrl::fromLocalFile("test.raw"));
player->setVolume(50);
player->play();

//video

Код
C++ (Qt)
player = new QMediaPlayer;
 
playlist = new QMediaPlaylist(player);
playlist->append(QUrl("http://example.com/myclip1.mp4"));
playlist->append(QUrl("http://example.com/myclip2.mp4"));
...
widget = new QVideoWidget(player);
widget->show();
 
playlist->setCurrentPosition(1);
player->play();

Кстати, кака я у тебя платформа и версия Qt Mobility?


Название: Re: Phonon + mp3 + win7
Отправлено: ecspertiza от Октябрь 31, 2010, 19:01
Столкнулся с такой же проблемой.
a10ne, расскажи пожалуйста, как ты удаляешь теги ID3v2 .


Название: Re: Phonon + mp3 + win7
Отправлено: svalkadoma от Ноябрь 04, 2010, 19:10
Столкнулся с той же проблемой. Какие-то mp3-файлы проигрываются, а какие-то нет. Заметил что вероятность проиграть песню с не русскими тегами намного больше. Только у меня эта проблема под Windows XP sp 3. Пошарил. Фонон выдаёт ошибку (метод errorString()) следующего содержания (на "ненормальные" mp3) "Не удается найти комбинацию фильтров для просмотра потока. (0x80040218)". Насчёт фонона по этому словосочетанию в интернете ничего нет.