Pull to refresh

Сохранение музыки из официального клиента Вконтакте для Android

Социальная сеть Вконтакте давно зарекомендовала себя как огромное хранилище музыки самых разных жанров. В официальном клиенте соц. для android есть такая фишка, как кэширование музыки для оффлайн-прослушивания в самой программе. Функция не то, чтобы очень полезная, но ее наличие радует. К сожалению, все сохраненные треки недоступны для прослушивания в других программах. Вытащить их оказалось довольно просто.

Опытным путем я обнаружил, что программа сохраняет все песни во внешнюю память устройства в формате mp3 без расширения. Каждому треку присваивается id соответствующий его id на сайте. Все файлы хранятся в каталоге "/sdcard/.vkontakte/cache/audio". Для их переименования и вытаскивания из каталога я написал следующий скрипт на Python для SL4A:

import android
import os
droid = android.Android()
path="/sdcard/.vkontakte/cache/audio"
dirList=os.listdir(path)
for fname in dirList:
   print fname
   newname = "/sdcard/Music/"+fname+".mp3"
   oldname = path+"/"+fname
   if os.path.exists(newname):
     print 'exists'
   else:
     comm = "cp "+oldname+" "+newname
     os.system(comm)
     print "copied"


image

При этом файлы также сохраняются в оригинальной папке. Об устройствах без флешки ничего сказать не могу, но думаю, кэшированная музыка сохраняется примерно туда же.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.