Васил обнови решението на 21.04.2015 09:12 (преди над 9 години)
Здрасти!
Идеята ти за проект ми харесва. Сега ще се опитам да отговаря на някои от въпросите ти. А и аз имам няколко, с които се надявам да ти помогна да си изясниш някои от нещата, за които питаш.
За работа с медия (и в частност аудио) файлове може да използваш библиотеки. Не мисля, че ще се справиш да го направиш изцяло сам. Това да разбереш как се пази мета информацията и да успееш да я прочетеш и/или променяш е достатъчно много работа. Примери за такива библиотеки са eyeD3, hachoir-metadata, kaa-metadata или някоя друга. Тези ги избрах случайно след 5 минути гугъл търсене. Препоръчвам ти да потърсиш и сам и да избереш тази с най - хубава и ясна документация.
Работа с интернет! Най - интересното :) За това ще ви говорим в близките седмици. Но това, което очаквам да ти се наложи да правиш е да "говориш" HTTP в проекта си. Отново, библиотеки на помощ! Най - хубавата библиотека за Python е requests. Дори първото нещо в документацията му е пример как достъпва API-то на github.
И като заговорихме за API-та, аз намерих две доста бързо: onemusicapi и musicbrainz. И двете ми се виждат доста пълни и имат хубава документация. Всички подобни API-та най - често връщат резултатите си в json или xml формат. В стандартната библиотека на Python има хубави модули и за двете.
Сега моите въпроси.
Как мислиш да се използва проекта ти? GUI ли ще бъде или нещо в командния ред? Което и да е от двете, ще е полезно да опишеш всички неща, които ще може да прави, по - подробно.
Какви видове файлове ще подържаш? mp3, ogg, mpeg4, webm? Това са все контейнери и всеки от тях пази данните си по различен начин.
Здрасти,
благодаря за разясненията. Това което целя е унификация на тривиална задача. Желанието ми е не толкова да направя кода си така че да дава опции на юзъра, колкото да не се нуждае от такъв. От тази гледна точка дали нещата ще мианват през GUI или команден ред за мен не е от значение в конкретния случай. Като цяло да се занимавам с GUI, е нещо с което силно желания да се занимавам, но до този момент нямам никаква педставата за тях. На сегашното ми ниво за мен всички кодове работят през команден ред.
Относно вида на файловете, предим става на въпрос за .mp3, но в съзнанието ми се въртяха повече формати, като си мислех достъпа до различна дата в тях е подобен. И ако тябва да избирам ограничен брой файлове, винаги мога да се спра на конкретна бройка, като се лишавам от някой или добавям други.
Крайната цел на кода ми желая да е поемането на един или повече файлове. След което самия код да прави логични решения за състоятелността на файла и неговата информация, запълвайки дупки в информацията на база сравнението с прочетеното в интернета.
Добре. От отговора ти разбирам, че ще е конзолно и ще подържаш mp3. Всеки формат отгоре - бонус!
Да предположа, че ми пишете за да потвърдя.
Ми потвърждавам :)