Название: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: maygli_dn от Декабрь 24, 2012, 22:52 Здравствуйте
Меня интересует следующее: как я могу узнать название песни(ну и вообще все о ней), если она проигрывается например в плеере WindowsMedia? То есть, например я хочу составить список песен, прозвучавших на моем компьетере, за определенный промежуток времени. Что использовать? Насколько я понимаю Phonon тут не подойдет? Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: Bepec от Декабрь 25, 2012, 00:09 Ы... Каждый плеер по разному предоставляет своё api. А некоторые и не предоставляют.
Нужно будет под каждый прописать свой плагин скажем так. Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: maygli_dn от Декабрь 25, 2012, 13:22 А может быть можно брать информацию не из самого плеера? Может можно с какого-нибудь аудиокодека? Ведь наверняка))) можно
Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: Kurles от Декабрь 25, 2012, 13:25 Практически любой плеер использует свои кодеки. Так что мимо кассы )
Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: Bepec от Декабрь 25, 2012, 13:25 Угу. Один проигрывает wav, другой raw, третий играет по нотам, четвертый mpeg, пятый вообще фильм показывает в avi.
Кул стори, Маугли. Максимум что ты можешь получить для всех разом - звук, который выводится с звуковой карты. Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: carrygun от Декабрь 25, 2012, 13:35 Еще как вариант отслеживать "дерганье" файлов, но как ты будешь отличать кто, что и зачем дергает - я не знаю.
Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: Bepec от Декабрь 25, 2012, 13:52 Отличить кто дергает файл можно) Другой вопрос опять же нужно под каждый плеер писать :D
Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: maygli_dn от Декабрь 25, 2012, 14:57 То есть алгоритм может быть примерно такой:
1. Смотрю запущенный приложения 2. Нахожу среди них какой-нибудь плеер(если он там есть) 3. Возвращаю имя файла используемого этим плеером Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: Bepec от Декабрь 25, 2012, 15:12 Неправильно мыслишь. Плеер читает файл моментно в память, после чего его освобождает. Так поступает большинство.
Т.е. получается тебе придётся фильтровать постоянно всю файловую систему, перехватывать все обращения к файлам, мониторить список процессов опять таки постоянно, выискивать в нём намёки на плееры (хз как ты будешь это делать, я где то с сотню плееров тебе найду за минутку.), потом постоянно сравнивать разницу между заблокированными в текущий момент времени файлами и открытыми плеерами, причём отсекая простое получение названия и информации о файле от чтения файла. И в результате ты получишь примерно 60% ложных срабатываний, чувствительность к именам плееров, %50 ложных опознаний проигрывателей и примерно список в 0-(Ν-1) файлов ежесекундно. Ну и будешь выбирать из этого (Ν-1) списка тот файл, который по настоящему проигрывается. Так же не стоит забывать, что некоторые плееры, загрузив файл в память, не выбрасывают файл при паузе. Потому может произойти произведение звука с минимальным обращением к диску - допустим сравнение размера файла с его запомненным размером. Ты вдохновлён перспективами? Тогда я продолжу. Теперь берём так же все Java/Net/Flash/Network технологии, которые проигрывают файл кусками его скачивая. Добавляем так же туеву хучу спойлеров/реклам/спам-объявлений занимающихся тем же самым. Добавляем игры, которые тоже проигрывают файлы. Добавляем систему, которая Оо тоже проигрывает файлы. Добавляем так же злостных антивирусов, которые тоже читают файлы и проверяют их. Добавляем все программы аля ¨библиотеки музыки¨, которые аналогично шерстят диски в поисках музона. Добавляем программы с оповещениями аля аська. Добавляем потоковое вещание звука аля тим спик и вентра (правда я не изучал технологию, но они вроде тоже хранят данные на диске). PS хватит? :P А то меня чегой т понесло :D Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: xokc от Декабрь 25, 2012, 16:04 Если всё же вернуться к исходной задаче распознавания звучащей песни, то можно перехватить воспроизводимый звук, вычислить для него "отпечаток" и сравнить с базой данных по "отпечаткам". Такое реализовано у многих, но будут ли с тобой эти "многие" делиться своим API и своей базой - не знаю.
Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: Bepec от Декабрь 25, 2012, 16:48 Такая схема нуждается в централизованной базе :) Причём на очень нехилом оборудовании.
Да, есть такие сервисы :) Хотя не все песни опознают. Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: maygli_dn от Декабрь 25, 2012, 19:04 Чересчур,спасибо за вдохновение))) и все же что вы мне можете посоветовать, вариант с отпечатками кажется мне очень сложным. Вот интересно еще как радиостанции это реализовано, то есть вот играет на радио какая-то песня а у них на сайте отображается какая.
Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: maygli_dn от Декабрь 26, 2012, 00:36 Еще раз Здравствуйте)
Вот нашел я вот это AMIP Now Playing Plugin и не знаю как этим воспользоваться, то есть как сделать так чтобы, названия воспроизводимых песен брались с его помощью и записывались ну например просто в файл track_list. Подскажите пжлст. Название: Re: Информация о проигрываемом(с помощью любого плеера) треке Отправлено: Bepec от Декабрь 26, 2012, 06:56 По порядку:
Цитировать Вот интересно еще как радиостанции это реализовано Там стоит специальная программко плеер, которая позволяет получить название проигрывающегося трека и даже всего плейлиста.Проще выражаясь - предусмотрено конструкцией. Цитировать нашёл плагин, что делать Читать по нему документацию. |