JavaFX Media API একটি শক্তিশালী ফ্রেমওয়ার্ক যা JavaFX অ্যাপ্লিকেশনে মিডিয়া কন্টেন্ট (অডিও এবং ভিডিও) প্লে করার জন্য ব্যবহৃত হয়। এটি আপনাকে মিডিয়া প্লেয়ার তৈরি করতে এবং মিডিয়া ফাইলগুলোকে অ্যাপ্লিকেশনে ইন্টিগ্রেট করতে সহায়তা করে। JavaFX Media API দিয়ে আপনি সহজেই মিডিয়া ফাইল (যেমন MP3, MP4) প্লে, পজ, পজিশন পরিবর্তন, ভলিউম কন্ট্রোল, এবং মিডিয়া প্লেব্যাকের অন্যান্য কার্যকলাপ করতে পারেন।
Media
ক্লাসে ধারণকৃত মিডিয়া ফাইল প্লে করার জন্য ব্যবহৃত হয়।MediaPlayer
এর মিডিয়া কন্টেন্ট দৃশ্যমান করার জন্য ব্যবহৃত হয়।নিচে একটি উদাহরণ দেওয়া হলো যেখানে একটি ভিডিও ফাইল Media
এবং MediaPlayer
ক্লাস ব্যবহার করে প্লে করা হয়েছে।
VideoPlayer.java
(Main Application):import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
public class VideoPlayer extends Application {
@Override
public void start(Stage primaryStage) {
// ভিডিও ফাইলের URI বা পাথ
String videoFile = "file:///path/to/your/video.mp4"; // ভিডিও ফাইলের সঠিক পাথ এখানে বসান
// Media অবজেক্ট তৈরি
Media media = new Media(videoFile);
// MediaPlayer অবজেক্ট তৈরি
MediaPlayer mediaPlayer = new MediaPlayer(media);
// MediaView অবজেক্ট তৈরি
MediaView mediaView = new MediaView(mediaPlayer);
// ভিডিও প্লে করা
mediaPlayer.play();
// স্টেজে MediaView যোগ করা
Scene scene = new Scene(mediaView, 800, 600);
primaryStage.setTitle("JavaFX Video Player");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Media
ক্লাসের একটি অবজেক্ট তৈরি করা হয়েছে, যা ভিডিও ফাইলের URI বা পাথ থেকে মিডিয়া লোড করে।MediaPlayer
মিডিয়া ফাইলটি প্লে করার জন্য ব্যবহৃত হয়। এটি মিডিয়া অবজেক্ট থেকে ভিডিও বা অডিও স্ট্রিম নিয়ে প্লে করে।MediaView
ক্লাসটি মিডিয়া প্লেয়ার থেকে প্লে করা ভিডিও বা অডিওকে দৃশ্যমান করতে ব্যবহৃত হয়।mediaPlayer.play()
মেথডের মাধ্যমে ভিডিও প্লে শুরু করা হয়।অডিও ফাইল প্লে করতে একইভাবে Media, MediaPlayer, এবং MediaView ব্যবহার করা হয়।
AudioPlayer.java
(Main Application):import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;
public class AudioPlayer extends Application {
@Override
public void start(Stage primaryStage) {
// অডিও ফাইলের URI বা পাথ
String audioFile = "file:///path/to/your/audio.mp3"; // অডিও ফাইলের সঠিক পাথ এখানে বসান
// Media অবজেক্ট তৈরি
Media media = new Media(audioFile);
// MediaPlayer অবজেক্ট তৈরি
MediaPlayer mediaPlayer = new MediaPlayer(media);
// অডিও প্লে করা
mediaPlayer.play();
// স্টেজ সেট করা
primaryStage.setTitle("JavaFX Audio Player");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
ব্যাখ্যা:
audio.mp3
এর URI ব্যবহার করে একটি Media
অবজেক্ট তৈরি করা হয়েছে।MediaPlayer
ব্যবহার করা হয়েছে।mediaPlayer.play()
ব্যবহার করা হয়েছে।mediaPlayer.pause()
দিয়ে ভিডিও বা অডিও পজ করা যায়।mediaPlayer.play()
দিয়ে রিজিউম করা যায়।mediaPlayer.setVolume(double volume)
মেথড ব্যবহার করে প্লেব্যাকের ভলিউম নিয়ন্ত্রণ করা যায়। (0.0 থেকে 1.0 পর্যন্ত মান নেওয়া যায়)mediaPlayer.seek(Duration)
দিয়ে মিডিয়ার পজিশন পরিবর্তন করা যায়। Duration
ব্যবহার করে নির্দিষ্ট সময়ে প্লেব্যাক শুরু করতে পারেন।MediaPlayer
ক্লাসে onEndOfMediaProperty
ইভেন্ট ব্যবহার করে মিডিয়া ফাইলের শেষ হলে কোনো কার্যকলাপ ঘটানোর ব্যবস্থা করা যায়।JavaFX MediaPlayer এর মাধ্যমে ভিডিও প্লে করার জন্য স্টাইলিং CSS ব্যবহার করা যায়। তবে MediaPlayer স্টাইলিং কম্প্লেক্স হতে পারে, কারণ এটি মূলত একটি ভিডিও প্লোরের UI কম্পোনেন্ট, যার নিজস্ব লেআউট থাকে। তবে, আপনি ভিডিও প্লে করা MediaView এর জন্য CSS প্রয়োগ করতে পারেন।
style.css
(CSS):/* Styling the media view (video player) */
.media-view {
-fx-background-color: black;
-fx-border-color: #3498db;
-fx-border-width: 5px;
}
এটি MediaView এর জন্য একটি কালো ব্যাকগ্রাউন্ড এবং সীমানা যোগ করবে। আপনাকে MediaView
এ styleClass
প্রয়োগ করতে হবে:
VideoPlayer.java
(Updated):mediaView.getStyleClass().add("media-view"); // Adding the style class to MediaView
scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
onEndOfMedia
, onError
ইত্যাদি হ্যান্ডল করার সুবিধা।এভাবে, JavaFX Media API ব্যবহার করে আপনি সহজেই আপনার অ্যাপ্লিকেশনে মিডিয়া কন্টেন্ট প্লে করতে পারেন এবং প্রয়োজনীয় কাস্টমাইজেশন বা কন্ট্রোলিং করতে পারেন।
JavaFX একটি শক্তিশালী গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) ফ্রেমওয়ার্ক, যা মাল্টিমিডিয়া (অডিও এবং ভিডিও) প্লেব্যাক করার জন্যও ব্যবহৃত হতে পারে। JavaFX এর Media এবং MediaPlayer ক্লাসগুলি আপনাকে অডিও এবং ভিডিও ফাইল প্লে করতে সাহায্য করে। এই ক্লাসগুলি আপনি ভিডিও এবং অডিও ফাইলের উপর বিভিন্ন ধরনের কন্ট্রোল যেমন প্লে, পজ, স্টপ, এবং ভলিউম কন্ট্রোল করতে সক্ষম করে।
JavaFX তে অডিও প্লেব্যাক করার জন্য Media
এবং MediaPlayer
ক্লাস দুটি ব্যবহার করা হয়। এই ক্লাসের মাধ্যমে আপনি বিভিন্ন ফাইল ফরম্যাট (যেমন MP3, WAV ইত্যাদি) প্লে করতে পারবেন।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class AudioPlayerExample extends Application {
@Override
public void start(Stage primaryStage) {
// অডিও ফাইলের পথ
String audioFile = "file:///path/to/your/audiofile.mp3"; // আপনার অডিও ফাইলের পাথ দিন
// Media অবজেক্ট তৈরি
Media media = new Media(audioFile);
// MediaPlayer তৈরি
MediaPlayer mediaPlayer = new MediaPlayer(media);
// অডিও প্লেব্যাক শুরু
mediaPlayer.play();
// UI সেটআপ
StackPane root = new StackPane();
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Audio Playback Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Media
ক্লাস একটি মিডিয়া ফাইল লোড করে এবং MediaPlayer
ক্লাস এর মাধ্যমে সেই ফাইল প্লে করা হয়।mediaPlayer.play()
মেথডটি অডিও প্লে করার জন্য ব্যবহার করা হয়েছে।JavaFX তে ভিডিও প্লেব্যাক করার জন্যও আপনি Media
এবং MediaPlayer
ক্লাস ব্যবহার করতে পারেন, তবে এখানে আপনাকে MediaView
ক্লাসের সাহায্য নিতে হবে যা ভিডিওটি UI তে প্রদর্শন করবে।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class VideoPlayerExample extends Application {
@Override
public void start(Stage primaryStage) {
// ভিডিও ফাইলের পাথ
String videoFile = "file:///path/to/your/videofile.mp4"; // আপনার ভিডিও ফাইলের পাথ দিন
// Media অবজেক্ট তৈরি
Media media = new Media(videoFile);
// MediaPlayer তৈরি
MediaPlayer mediaPlayer = new MediaPlayer(media);
// MediaView তৈরি (যা ভিডিও প্রদর্শন করবে)
MediaView mediaView = new MediaView(mediaPlayer);
// ভিডিও প্লেব্যাক শুরু
mediaPlayer.play();
// UI সেটআপ
StackPane root = new StackPane();
root.getChildren().add(mediaView);
// Scene এবং Stage তৈরি
Scene scene = new Scene(root, 600, 400);
primaryStage.setTitle("Video Playback Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Media
ক্লাসে ভিডিও ফাইল লোড করা হয়।MediaPlayer
ক্লাস ভিডিও ফাইলটি প্লে করে।MediaView
ক্লাসটি ভিডিও প্লেব্যাকটি UI তে প্রদর্শন করার জন্য ব্যবহার করা হয়।MediaPlayer
ক্লাসে অনেক ধরনের কন্ট্রোল অপশন রয়েছে, যার মাধ্যমে আপনি মিডিয়া ফাইলের প্লেব্যাক নিয়ন্ত্রণ করতে পারেন:
Play/Pause:
mediaPlayer.play(); // প্লে করা
mediaPlayer.pause(); // বিরতি করা
Stop:
mediaPlayer.stop();
Volume Control:
MediaPlayer
এর মাধ্যমে ভলিউম কন্ট্রোল করতে পারেন:mediaPlayer.setVolume(0.5); // 0.0 থেকে 1.0 পর্যন্ত ভলিউম সেট করুন (0.5 মানে 50%)
Seek (Position Control):
mediaPlayer.seek(Duration.seconds(10)); // 10 সেকেন্ডে স্কিপ করা
Looping:
mediaPlayer.setCycleCount(MediaPlayer.INDEFINITE); // ইনফিনিট লুপ
JavaFX এর MediaView
তে আপনি CSS ব্যবহার করে বিভিন্ন স্টাইলিং করতে পারেন যেমন সীমানা, আকার পরিবর্তন ইত্যাদি।
/* Example CSS to style the MediaView */
.media-view {
-fx-border-color: black;
-fx-border-width: 5px;
-fx-effect: dropshadow(gaussian, rgba(0, 0, 0, 0.8), 10, 0, 2, 2);
}
Streaming Media:
String streamURL = "https://www.example.com/video.mp4";
Media media = new Media(streamURL);
Error Handling:
MediaPlayer
ক্লাসের onError
হ্যান্ডলার ব্যবহার করা যেতে পারে:mediaPlayer.setOnError(() -> {
System.out.println("Error: " + mediaPlayer.getError().getMessage());
});
JavaFX MediaPlayer এবং MediaView ক্লাসগুলি JavaFX-এ মিডিয়া প্লেব্যাকের জন্য ব্যবহৃত হয়। আপনি MediaPlayer ক্লাসটি ব্যবহার করে মিডিয়া ফাইল (যেমন, অডিও বা ভিডিও) প্লে করতে পারেন, এবং MediaView ক্লাসটি ব্যবহার করে সেই মিডিয়া ফাইলের ভিডিও কনটেন্টটিকে ইউজার ইন্টারফেসে প্রদর্শন করতে পারেন।
এগুলি ব্যবহার করে আপনি আপনার JavaFX অ্যাপ্লিকেশনগুলিতে ভিডিও এবং অডিও প্লেব্যাক অন্তর্ভুক্ত করতে পারেন।
MediaPlayer
ক্লাসটি মিডিয়া প্লেব্যাক চালানোর জন্য ব্যবহৃত হয়। এটি মিডিয়া ফাইল (যেমন audio
, video
) লোড, প্লে, পজ, স্টপ, স্কিপ, ভলিউম কন্ট্রোল এবং মিডিয়া সম্পর্কিত অন্যান্য কন্ট্রোল সমর্থন করে।
MediaView
ক্লাসটি ভিডিও প্লেব্যাক দেখানোর জন্য ব্যবহৃত হয়। এটি একটি Canvas এর মতো কাজ করে, যেখানে ভিডিও ফ্রেমগুলো প্রদর্শিত হয়। এটি MediaPlayer এর সাথে যুক্ত হয়ে মিডিয়া ফাইলের ভিডিও অংশটি স্ক্রীনে রেন্ডার করে।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
public class MediaPlayerExample extends Application {
@Override
public void start(Stage primaryStage) {
// মিডিয়া ফাইলের ইউআরএল অথবা লোকাল পাথ
String mediaUrl = "file:///C:/path/to/your/video.mp4"; // আপনার ভিডিও ফাইলের পাথ এখানে দিন
// মিডিয়া ফাইল তৈরি করা
Media media = new Media(mediaUrl);
// মিডিয়া প্লেয়ার তৈরি করা
MediaPlayer mediaPlayer = new MediaPlayer(media);
// MediaView তৈরি করা যা ভিডিও দেখাবে
MediaView mediaView = new MediaView(mediaPlayer);
// StackPane layout তৈরি করা
StackPane root = new StackPane();
root.getChildren().add(mediaView);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 640, 480);
primaryStage.setTitle("JavaFX MediaPlayer Example");
primaryStage.setScene(scene);
// ভিডিও প্লে করা
mediaPlayer.play();
// স্টেজ প্রদর্শন করা
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Media
ক্লাস: মিডিয়া ফাইলের লোকেশন (পাথ বা URL) গ্রহণ করে।MediaPlayer
ক্লাস: মিডিয়া ফাইলটি প্লে করার জন্য ব্যবহৃত হয়।MediaView
ক্লাস: মিডিয়া ফাইলের ভিডিও অংশটি দৃশ্যমান করতে ব্যবহৃত হয়। এটি MediaPlayer
এর সাথে যুক্ত হয়ে ভিডিও স্ক্রীনে রেন্ডার করে।এখানে, আপনি মিডিয়া ফাইলের পাথ দিন, তারপর MediaPlayer প্লে করবে এবং MediaView ভিডিওটি স্ক্রীনে প্রদর্শন করবে।
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
public class MediaPlayerControlsExample extends Application {
@Override
public void start(Stage primaryStage) {
// মিডিয়া ফাইলের ইউআরএল
String mediaUrl = "file:///C:/path/to/your/video.mp4"; // আপনার ভিডিও ফাইলের পাথ এখানে দিন
// মিডিয়া ফাইল তৈরি করা
Media media = new Media(mediaUrl);
// মিডিয়া প্লেয়ার তৈরি করা
MediaPlayer mediaPlayer = new MediaPlayer(media);
// MediaView তৈরি করা
MediaView mediaView = new MediaView(mediaPlayer);
// Play, Pause, Stop বাটন তৈরি করা
Button playButton = new Button("Play");
Button pauseButton = new Button("Pause");
Button stopButton = new Button("Stop");
// Play বাটনে ইভেন্ট হ্যান্ডলার
playButton.setOnAction(e -> mediaPlayer.play());
// Pause বাটনে ইভেন্ট হ্যান্ডলার
pauseButton.setOnAction(e -> mediaPlayer.pause());
// Stop বাটনে ইভেন্ট হ্যান্ডলার
stopButton.setOnAction(e -> mediaPlayer.stop());
// Layout তৈরি করা
StackPane controlPane = new StackPane();
controlPane.setAlignment(Pos.BOTTOM_CENTER);
controlPane.getChildren().addAll(playButton, pauseButton, stopButton);
StackPane root = new StackPane();
root.getChildren().addAll(mediaView, controlPane);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 640, 480);
primaryStage.setTitle("Media Player with Controls");
primaryStage.setScene(scene);
// ভিডিও প্লে করা
mediaPlayer.play();
// স্টেজ প্রদর্শন করা
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
mediaPlayer.play()
, mediaPlayer.pause()
, এবং mediaPlayer.stop()
মেথড ব্যবহার করে মিডিয়া ফাইলের প্লেব্যাক কন্ট্রোল করা হয়েছে।import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Slider;
import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
public class MediaPlayerVolumeControlExample extends Application {
@Override
public void start(Stage primaryStage) {
// মিডিয়া ফাইলের ইউআরএল
String mediaUrl = "file:///C:/path/to/your/video.mp4"; // আপনার ভিডিও ফাইলের পাথ এখানে দিন
// মিডিয়া ফাইল তৈরি করা
Media media = new Media(mediaUrl);
// মিডিয়া প্লেয়ার তৈরি করা
MediaPlayer mediaPlayer = new MediaPlayer(media);
// MediaView তৈরি করা
MediaView mediaView = new MediaView(mediaPlayer);
// Volume control Slider তৈরি করা
Slider volumeSlider = new Slider();
volumeSlider.setMin(0);
volumeSlider.setMax(1);
volumeSlider.setValue(0.5); // Default volume is 50%
// Volume slider এর পরিবর্তনে ভলিউম আপডেট করা
volumeSlider.valueProperty().addListener((observable, oldValue, newValue) ->
mediaPlayer.setVolume(newValue.doubleValue())
);
// Layout তৈরি করা
StackPane root = new StackPane();
root.getChildren().addAll(mediaView, volumeSlider);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 640, 480);
primaryStage.setTitle("Media Player with Volume Control");
primaryStage.setScene(scene);
// ভিডিও প্লে করা
mediaPlayer.play();
// স্টেজ প্রদর্শন করা
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
mediaPlayer.setVolume()
মেথড ব্যবহার করে ভিডিওর ভলিউম পরিবর্তন করা হয়েছে, এবং এটি স্লাইডারের মাধ্যমে নিয়ন্ত্রিত হচ্ছে।JavaFX এর MediaPlayer এবং MediaView ক্লাসগুলি মিডিয়া প্লেব্যাকের জন্য গুরুত্বপূর্ণ। MediaPlayer মিডিয়া ফাইলটি প্লে, পজ, স্টপ, স্কিপ, ভলিউম কন্ট্রোল ইত্যাদি পরিচালনা করতে সাহায্য করে, এবং MediaView মিডিয়ার ভিডিও অংশটি স্ক্রীনে প্রদর্শন করে।
এগুলি JavaFX অ্যাপ্লিকেশনে মিডিয়া উপাদান যোগ করার জন্য অত্যন্ত কার্যকরী এবং ব্যবহারযোগ্য টুল।
JavaFX এ Media Playback Controls এবং Events Handling খুবই গুরুত্বপূর্ণ অংশ, বিশেষ করে যখন আপনি মিডিয়া প্লেব্যাকের জন্য একটি ইন্টারেকটিভ ইউজার ইন্টারফেস (UI) তৈরি করছেন। এই ফিচারের মাধ্যমে আপনি অডিও বা ভিডিও ফাইল প্লে, পজ, স্টপ, ফাস্ট ফরওয়ার্ড, রিবাইন্ড ইত্যাদি কন্ট্রোল করতে পারবেন। JavaFX Media এবং MediaPlayer ক্লাস ব্যবহার করে মিডিয়া প্লেব্যাক পরিচালনা করা যায় এবং মিডিয়া প্লেব্যাকের জন্য কন্ট্রোল তৈরি করা হয়।
Media
ক্লাসের সাথে সম্পর্কিত মিডিয়া ফাইলটি প্লে, পজ, বা স্টপ করার জন্য ব্যবহৃত হয়।Video
প্লেব্যাক)।এখানে একটি সাধারণ উদাহরণ দেওয়া হলো যেখানে Media, MediaPlayer, এবং MediaView ব্যবহার করে একটি ভিডিও প্লেব্যাক কন্ট্রোল তৈরি করা হবে। এর মধ্যে Play, Pause, Stop, এবং Seek (পজিশন পরিবর্তন) কন্ট্রোল থাকবে।
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Slider;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
public class MediaPlayerExample extends Application {
@Override
public void start(Stage primaryStage) {
// মিডিয়া ফাইলের URI (এখানে একটি ভিডিও ফাইল ব্যবহার করা হয়েছে)
String mediaPath = "file:///path/to/your/video.mp4"; // আপনার ভিডিও ফাইলের পাথ দিন
// মিডিয়া তৈরি করা
Media media = new Media(mediaPath);
// মিডিয়া প্লেয়ার তৈরি করা
MediaPlayer mediaPlayer = new MediaPlayer(media);
// মিডিয়া ভিউ (ভিডিও ডিসপ্লে করতে)
MediaView mediaView = new MediaView(mediaPlayer);
// প্লে বাটন তৈরি করা
Button playButton = new Button("Play");
playButton.setOnAction(event -> mediaPlayer.play());
// পজ বাটন তৈরি করা
Button pauseButton = new Button("Pause");
pauseButton.setOnAction(event -> mediaPlayer.pause());
// স্টপ বাটন তৈরি করা
Button stopButton = new Button("Stop");
stopButton.setOnAction(event -> mediaPlayer.stop());
// স্লাইডার তৈরি করা (ভিডিওতে স্কিপিং করতে)
Slider timeSlider = new Slider();
timeSlider.setMin(0);
timeSlider.setMax(100);
// স্লাইডারের পরিবর্তন ট্র্যাক করা
mediaPlayer.currentTimeProperty().addListener((observable, oldValue, newValue) -> {
// মিডিয়া প্লেয়ারের বর্তমান টাইম আপডেট করা
timeSlider.setValue(newValue.toSeconds());
});
// স্লাইডারে ক্লিক করলে ভিডিওর পজিশন পরিবর্তন হবে
timeSlider.valueProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
if (timeSlider.isPressed()) {
mediaPlayer.seek(javafx.util.Duration.seconds(newValue.doubleValue()));
}
}
});
// মিডিয়া প্লেব্যাকের জন্য একটি VBox (বা HBox) লেআউট তৈরি করা
VBox vbox = new VBox(10);
vbox.getChildren().addAll(mediaView, playButton, pauseButton, stopButton, timeSlider);
// একটি Scene তৈরি করা
Scene scene = new Scene(vbox, 640, 480);
primaryStage.setTitle("JavaFX Media Player Example");
primaryStage.setScene(scene);
primaryStage.show();
// মিডিয়া প্লেব্যাক শুরু করা
mediaPlayer.setAutoPlay(true);
}
public static void main(String[] args) {
launch(args);
}
}
Media
ক্লাসটি মিডিয়া ফাইলের URI ধারণ করে, যা আমাদের ভিডিও বা অডিও ফাইল হতে পারে।MediaPlayer
ক্লাসটি সেই মিডিয়া ফাইলটি প্লে, পজ, বা স্টপ করতে ব্যবহৃত হয়।setOnAction()
ইভেন্ট হ্যান্ডলার ব্যবহার করে কার্যকরী করা হয়েছে। অর্থাৎ, প্রতিটি বাটনে ক্লিক করলে নির্দিষ্ট কার্যকলাপ (প্লে, পজ, স্টপ) হবে।currentTimeProperty()
ব্যবহার করে ভিডিও প্লেব্যাকের সময় ট্র্যাক করা হচ্ছে এবং স্লাইডারে মান আপডেট হচ্ছে।mediaPlayer.seek()
ফাংশনটি ব্যবহার করে ভিডিও পজিশন পরিবর্তন করা হচ্ছে।MediaView
ক্লাসটি ব্যবহার করা হয়েছে ভিডিও ফাইল ডিসপ্লে করার জন্য। এটি মিডিয়া প্লেয়ারের মাধ্যমে ভিডিওটি UI-তে প্রদর্শন করে।setOnAction()
ইভেন্ট হ্যান্ডলার দিয়ে প্লেব্যাক কন্ট্রোল (Play, Pause, Stop) পরিচালনা করা হয়েছে।JavaFX MediaPlayer ক্লাসে কিছু ইভেন্টও থাকে, যেমন:
এগুলি ব্যবহার করে আরও ইন্টারঅ্যাকটিভ প্লেব্যাক কন্ট্রোল তৈরি করা যেতে পারে।
JavaFX-এর MediaPlayer এবং MediaView ক্লাস ব্যবহার করে ভিডিও বা অডিও মিডিয়া ফাইল প্লেব্যাক করা সহজ এবং ইন্টারঅ্যাকটিভ হয়। মিডিয়া প্লেব্যাক কন্ট্রোলের জন্য Events Handling এবং Data Binding ব্যবহার করে আপনি ব্যবহারকারীদের আরও রেসপন্সিভ এবং আকর্ষণীয় অভিজ্ঞতা প্রদান করতে পারেন।
JavaFX-এ একটি Simple Media Player তৈরি করা একটি দুর্দান্ত প্রজেক্ট যা JavaFX Media API এবং UI Components ব্যবহারের মাধ্যমে করা যায়। এখানে আমরা একটি সাধারণ Media Player তৈরি করব যা একটি ভিডিও বা অডিও ফাইল প্লে করতে সক্ষম হবে।
এই উদাহরণে, আমরা একটি JavaFX Application তৈরি করব যা একটি Media ফাইল (অডিও বা ভিডিও) প্লে করবে। আমরা MediaPlayer, Media, এবং MediaView এর ব্যবহার দেখাব।
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.scene.media.*;
import javafx.stage.Stage;
import java.io.File;
public class SimpleMediaPlayer extends Application {
private MediaPlayer mediaPlayer;
private Media media;
private MediaView mediaView;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
// Step 1: Choose a media file (you can replace this with your own file)
String mediaFilePath = "path/to/your/video_or_audio_file.mp4"; // Replace with your file path
media = new Media(new File(mediaFilePath).toURI().toString());
// Step 2: Create MediaPlayer and MediaView
mediaPlayer = new MediaPlayer(media);
mediaView = new MediaView(mediaPlayer);
// Step 3: Create play, pause, and stop buttons
Button playButton = new Button("Play");
Button pauseButton = new Button("Pause");
Button stopButton = new Button("Stop");
// Step 4: Add action listeners for buttons
playButton.setOnAction(event -> mediaPlayer.play());
pauseButton.setOnAction(event -> mediaPlayer.pause());
stopButton.setOnAction(event -> mediaPlayer.stop());
// Step 5: Create a slider for volume control
Slider volumeSlider = new Slider();
volumeSlider.setMin(0);
volumeSlider.setMax(1);
volumeSlider.setValue(0.5); // Default volume
volumeSlider.setBlockIncrement(0.1);
volumeSlider.setShowTickLabels(true);
volumeSlider.setShowTickMarks(true);
// Update media player volume when slider value changes
volumeSlider.valueProperty().addListener((observable, oldValue, newValue) -> {
mediaPlayer.setVolume(newValue.doubleValue());
});
// Step 6: Create a layout and add components
VBox vbox = new VBox(10);
HBox hbox = new HBox(10);
hbox.getChildren().addAll(playButton, pauseButton, stopButton);
vbox.getChildren().addAll(mediaView, volumeSlider, hbox);
// Step 7: Create the scene and add the layout to the scene
Scene scene = new Scene(vbox, 600, 400);
// Step 8: Set up the stage
primaryStage.setTitle("Simple Media Player");
primaryStage.setScene(scene);
primaryStage.show();
// Step 9: Start playing the media when the player is ready
mediaPlayer.setAutoPlay(true);
}
}
Media
ক্লাসটি একটি মিডিয়া ফাইল লোড করে, এবং MediaPlayer
সেই মিডিয়া প্লে করার জন্য ব্যবহৃত হয়। এখানে media
এর মধ্যে আপনার মিডিয়া ফাইলের পাথ দেওয়া হচ্ছে (যেমন ভিডিও বা অডিও ফাইল)। আপনি আপনার মিডিয়া ফাইলের পাথ দিয়ে এটি প্রতিস্থাপন করতে পারেন।mediaPlayer.play()
-এর মাধ্যমে মিডিয়া প্লে করা হয়, mediaPlayer.pause()
-এর মাধ্যমে প্লে স্থগিত করা হয় এবং mediaPlayer.stop()
-এর মাধ্যমে মিডিয়া বন্ধ করা হয়।MediaView
ব্যবহার করে আপনি ভিডিও বা অডিও মিডিয়ার ভিজ্যুয়াল রিপ্রেজেন্টেশন দেখতে পারেন। এটি মিডিয়া প্লেয়ারকে প্রদর্শন করে।mediaPlayer.setVolume()
মেথডের মাধ্যমে কার্যকর করা হয়েছে।Button
কন্ট্রোল ব্যবহার করে তৈরি করা হয়েছে, এবং এগুলোর ইভেন্ট হ্যান্ডলিংয়ে সংশ্লিষ্ট কাজ সম্পন্ন হয়।VBox
-এ উপাদানগুলি উল্লম্বভাবে এবং HBox
-এ উপাদানগুলি অনুভূমিকভাবে সাজানো হয়েছে।MediaPlayer
ব্যবহার করে মিডিয়া ফাইলটি লোড করবে এবং সেটি প্লে শুরু করবে।মিডিয়া ফাইলের পাথ সঠিকভাবে প্রদান করতে হবে। উদাহরণস্বরূপ:
C:\\Users\\User\\Music\\your_audio_or_video.mp4
/Users/username/Music/your_audio_or_video.mp4
আপনি এই ফাইল পাথটি আপনার মিডিয়া ফাইলের সঠিক অবস্থান দিয়ে প্রতিস্থাপন করুন।
JavaFX Media API মিডিয়া ফাইল (ভিডিও এবং অডিও) প্লে করতে সহায়তা করে। এটি আপনাকে ভিডিও অথবা অডিও ফাইলের জন্য প্লেয়ার তৈরি করার জন্য প্রয়োজনীয় সব ফিচার প্রদান করে:
এই উদাহরণটি একটি সহজ Media Player তৈরি করেছে যেখানে Play, Pause, Stop, এবং Volume Control রয়েছে। JavaFX এর Media API ব্যবহার করে, আপনি সহজেই ভিডিও বা অডিও প্লে করতে পারেন এবং একটি পূর্ণাঙ্গ মিডিয়া প্লেয়ার তৈরি করতে পারবেন।
Read more