Для простоты поместите программу vlc.py
в тот же каталог, что и ваша программа.
Тогда это самая простая форма заставить vlc
воспроизвести что-то
url = "file:///home/rolf/GWPE.mp4"
import vlc
playing = set([1,2,3,4])
instance=vlc.Instance()
player=instance.media_player_new()
player.set_mrl(url)
player.play()
while True:
state = player.get_state()
if state not in playing:
break
Не уверен, что такое часть pafy
, но вышеприведенное будет воспроизводить локальный файл, и я подозреваю, что все, что Pafy передает ему.
Нет, не соответствует спецификации языка Java , 3-й edition :
6.6.8 Пример: частные поля, методы, член класса или конструктор доступный только в теле класс верхнего уровня (§7.6), который включает декларацию члена или конструктор. Не наследуется подклассы.
Но независимо от этого языкового ограничения вы можете получить доступ к закрытым полям через отражение :
Field privateStringField =
MyClass.class.getDeclaredField("privateString");
privateStringField.setAccessible(true);
String fieldValue = (String) privateStringField.get(privateObject);
System.out.println("fieldValue = " + fieldValue);
For questions like this, where is a table found on the website here: http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html
Basically you want public or protected variable to be declared in foo since these are the variables that subclasses inherit from their parent and therefore seen in baz.
Child classes can not access private members (which is the whole point of private access control).
...if there is no accessor method defined in foo?
You need accessors. Besides, take care of inheritance, Should that var really be in parent? Remember IS-A check..
You cannot access private variables in descendent classes. Normally you'd want to use "protected" or "package" (the default) level access for this. However if you want to be really tricky, you can resort to using reflection and AccessibleObject to get at it. I wouldn't recommend doing that for production code unless you are really in a bind; for testing, etc., it's fine.