JavaFX একটি শক্তিশালী গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) ফ্রেমওয়ার্ক, যা মাল্টিমিডিয়া (অডিও এবং ভিডিও) প্লেব্যাক করার জন্যও ব্যবহৃত হতে পারে। JavaFX এর Media এবং MediaPlayer ক্লাসগুলি আপনাকে অডিও এবং ভিডিও ফাইল প্লে করতে সাহায্য করে। এই ক্লাসগুলি আপনি ভিডিও এবং অডিও ফাইলের উপর বিভিন্ন ধরনের কন্ট্রোল যেমন প্লে, পজ, স্টপ, এবং ভলিউম কন্ট্রোল করতে সক্ষম করে।
JavaFX দিয়ে Audio এবং Video Playback
1. Audio Playback in JavaFX
JavaFX তে অডিও প্লেব্যাক করার জন্য Media এবং MediaPlayer ক্লাস দুটি ব্যবহার করা হয়। এই ক্লাসের মাধ্যমে আপনি বিভিন্ন ফাইল ফরম্যাট (যেমন MP3, WAV ইত্যাদি) প্লে করতে পারবেন।
Audio Playback Example:
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()মেথডটি অডিও প্লে করার জন্য ব্যবহার করা হয়েছে।
2. Video Playback in JavaFX
JavaFX তে ভিডিও প্লেব্যাক করার জন্যও আপনি Media এবং MediaPlayer ক্লাস ব্যবহার করতে পারেন, তবে এখানে আপনাকে MediaView ক্লাসের সাহায্য নিতে হবে যা ভিডিওটি UI তে প্রদর্শন করবে।
Video Playback Example:
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 তে প্রদর্শন করার জন্য ব্যবহার করা হয়।
3. MediaPlayer Control Options:
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); // ইনফিনিট লুপ
Styling MediaView with CSS:
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);
}
JavaFX Media Features:
- Supported Media Formats:
- JavaFX দ্বারা সমর্থিত মিডিয়া ফরম্যাটে রয়েছে MP3, MP4, AVI, MOV, WAV ইত্যাদি।
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 তে Media এবং MediaPlayer ক্লাসের মাধ্যমে সহজেই অডিও এবং ভিডিও ফাইল প্লেব্যাক করা যায়।
- আপনি MediaView ব্যবহার করে ভিডিও UI তে প্রদর্শন করতে পারেন।
- Volume Control, Play/Pause, Seek, এবং Looping সহ বিভিন্ন কন্ট্রোল অপশন উপলব্ধ।
- JavaFX মিডিয়া ফিচারগুলি ব্যবহার করে আপনি মাল্টিমিডিয়া অ্যাপ্লিকেশন তৈরি করতে পারেন, যা অডিও এবং ভিডিও প্লেব্যাক সমর্থন করে।
Read more