VLC Media Player-дің керемет жері - бұл планетадағы барлық дерлік бейне және аудио форматтарды, соның ішінде AVI-ді қолдайды.
2.3.2 AVI бейне файлдарының ерекшеліктері және кодек пакеттері
Windows Media Player, Winamp, Media Player Classic немесе Mozilla’s Songbird сияқты экстравагантты нәрсе болуы мүмкін. Олардың бәрін біріктіретін нәрсе - олар AVI-ді және басқа да көптеген бейнефайлдарды ойнатуға кодек қажет.
Кодек сөзі аббревиатурасы болып табылады. Басқаша айтқанда, бейне белгілі бір контейнерге кодталған, мысалы. AVI және медиа ойнатқыштың бағдарламалық құралы ойнатылуы үшін оны декодтау керек. Кодек - бұл медиа ойнатқышқа декодтауды шешуге көмектесетін, видео файлды оқып, ойнатуға мүмкіндік беретін кішкене бағдарлама.
Кодектерге келетін болсақ, сізде екі нұсқа бар. Сіз біреуін жүктей аласыз көп мақсатты кодек көптеген стандартты аудио және бейне файлдарды өңдей алады немесе кодек пакетін жүктеп алуға болады онда медиа-файлдардың кең спектрі үшін барлық арнайы кодектер бар.
Негізгі ерекшеліктері:
Кодек пакеттері:
K-Lite кодектер жиынтығы
XP Codec бумасы (Windows Vista-да және Windows 7-де жұмыс істейді)
Cole2k медиа кодектер жиынтығы.
Бағдарламалық қамтаманы әзірлеу
3.1 Жұмыс барысында қолданылатын ОББ-ның негізгі принциптері
Бағдарламаның әзірлеу барысында мұрагерлікті қолдандым. Ал, мұрагерлік - объектілі-бағытталған бағдарламалаудың ажырамас бөлігі болып табылады. Мұралауды пайдалану кезінде базалық (ата-ана) класстың қасиеттеріне жататын элементтер жаңа классқа беріледі. Кодта extends операнды қолданылады, одан кейін базалық класстың аты көрсетіледі. Осылайша базалық класстың барлық өрістері мен әдістеріне қол жеткізу ашылады. Мұралауды пайдалана отырып, ортақ "java class" жасауға болады, ол байланысқан элементтерді теру үшін ортақ сипаттамаларды анықтайды. Содан кейін оған мұраға және қосымша кластарды жасауға болады, олар үшін қосымша бірегей сипаттамаларды анықтауға болады. Әзірленген жобада Board классы JPanel классынан мұралайды. Бұл мұралау графикалық интерфейсті жасауда маңызды рөл атқарады.
Java-да басты зерттелетін класс super суперклассы деп аталады. Мұраланатын класс - ішкі сынып деп аталады. Осылайша, ішкі класс - суперкласстың барлық қасиеттерін иеленетін және өзінің бірегей элементтерін қосатын суперкласстың мамандандырылған нұсқасы болып табылады. Super тірек сөзі - суперкласс конструкторын шақыру үшін және суперклас мүшесінің жасырын ішкі мүшесін көру үшін пайдалануға болады.
Қорытынды
Пайдаланылған әдебиеттер
1. Лафоре Р. Структуры данных и алгоритмы JAVA. – СПб.: Питер, 2013.
2. Эккель Б. Философия Java. – СПб.: Питер, 2015.
3. Блинов И. Н., Романчик В. С. Java. Методы программирования. –
Минск: Четыре четверти, 2013.
4. Васильев А. Н. Java. Объектно ориентированное программирование. – СПб.: Питер, 2012.
5. Вязовик Н. А. Программирование на Java. – М.: Интуит, 2016
6. Объектіге бағытталған бағдарламалау: Оқу құралы/Ж.Сайлауқызы, Ф.М. Бартосик; Қарағанды техникалық университеті. – Қарағанды: ҚарТУ баспасы, 2021. – 96 б.
7. П.Б. Хорев Объектно-ориентированное программирование / П.Б. Хорев. - М.: Academia, 2017. - 448 c.
8. Татьяна Павловская C/C++. Процедурное и объектно-ориентированное программирование. Учебник / Татьяна Павловская. - М.: Питер, 2015. - 496 c.
Қосымша А
import com.sun.jna.Pointer;
import com.sun.jna.platform.win32.User32;
import com.sun.jna.platform.win32.WinDef;
import com.sun.jna.ptr.LongByReference;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.paint.Color;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class SampleMPVPlayer extends Application {
private static final String STAGE_TITLE = "MPV video demo";
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage stage) throws Exception {
stage.setTitle(STAGE_TITLE);
stage.show();
Stage childStage = new Stage(StageStyle.TRANSPARENT);
Button button = new Button("Hello World");
Scene scene = new Scene(button);
button.setStyle("-fx-font-size: 50px");
button.setOpacity(0.5);
scene.setFill(Color.TRANSPARENT);
childStage.initModality(Modality.APPLICATION_MODAL);
childStage.initOwner(stage);
childStage.setScene(scene);
childStage.show();
play("https://www.youtube.com/watch?v=sFXGrTng0gQ");
}
private void play(String url) {
// Get interface to MPV DLL
MPV mpv = MPV.INSTANCE;
// Create MPV player instance
long handle = mpv.mpv_create();
// Get the native window id by looking up a window by title:
WinDef.HWND hwnd = User32.INSTANCE.FindWindow(null, STAGE_TITLE);
// Tell MPV on which window video should be displayed:
LongByReference longByReference =
new LongByReference(Pointer.nativeValue(hwnd.getPointer()));
mpv.mpv_set_option(handle, "wid", 4, longByReference.getPointer());
int error;
// Initialize MPV after setting basic options:
if((error = mpv.mpv_initialize(handle)) != 0) {
throw new IllegalStateException("Initialization failed with error: " + error);
}
// Load and play a video:
if((error = mpv.mpv_command(handle, new String[] {"loadfile", url})) != 0) {
throw new IllegalStateException("Playback failed with error: " + error);
}
}
}
Қосымша В
Достарыңызбен бөлісу: |