JavaFX-এ একটি Simple Media Player তৈরি করা একটি দুর্দান্ত প্রজেক্ট যা JavaFX Media API এবং UI Components ব্যবহারের মাধ্যমে করা যায়। এখানে আমরা একটি সাধারণ Media Player তৈরি করব যা একটি ভিডিও বা অডিও ফাইল প্লে করতে সক্ষম হবে।
উদাহরণ: Simple Media Player তৈরি
এই উদাহরণে, আমরা একটি JavaFX Application তৈরি করব যা একটি Media ফাইল (অডিও বা ভিডিও) প্লে করবে। আমরা MediaPlayer, Media, এবং MediaView এর ব্যবহার দেখাব।
১. JavaFX Media Player - Code Implementation
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 and MediaPlayer:
Mediaক্লাসটি একটি মিডিয়া ফাইল লোড করে, এবংMediaPlayerসেই মিডিয়া প্লে করার জন্য ব্যবহৃত হয়। এখানেmediaএর মধ্যে আপনার মিডিয়া ফাইলের পাথ দেওয়া হচ্ছে (যেমন ভিডিও বা অডিও ফাইল)। আপনি আপনার মিডিয়া ফাইলের পাথ দিয়ে এটি প্রতিস্থাপন করতে পারেন।mediaPlayer.play()-এর মাধ্যমে মিডিয়া প্লে করা হয়,mediaPlayer.pause()-এর মাধ্যমে প্লে স্থগিত করা হয় এবংmediaPlayer.stop()-এর মাধ্যমে মিডিয়া বন্ধ করা হয়।
- MediaView:
MediaViewব্যবহার করে আপনি ভিডিও বা অডিও মিডিয়ার ভিজ্যুয়াল রিপ্রেজেন্টেশন দেখতে পারেন। এটি মিডিয়া প্লেয়ারকে প্রদর্শন করে।
- Volume Control:
- আমরা একটি Slider যোগ করেছি যা ব্যবহারকারীকে মিডিয়ার ভলিউম কন্ট্রোল করার সুযোগ দেয়। এটি
mediaPlayer.setVolume()মেথডের মাধ্যমে কার্যকর করা হয়েছে।
- আমরা একটি Slider যোগ করেছি যা ব্যবহারকারীকে মিডিয়ার ভলিউম কন্ট্রোল করার সুযোগ দেয়। এটি
- Buttons:
- প্লে, পজ, এবং স্টপ বোতামগুলি
Buttonকন্ট্রোল ব্যবহার করে তৈরি করা হয়েছে, এবং এগুলোর ইভেন্ট হ্যান্ডলিংয়ে সংশ্লিষ্ট কাজ সম্পন্ন হয়।
- প্লে, পজ, এবং স্টপ বোতামগুলি
- UI Layout:
- মিডিয়া ভিউ, ভলিউম স্লাইডার এবং বোতামগুলিকে VBox এবং HBox লেআউটে সাজানো হয়েছে।
VBox-এ উপাদানগুলি উল্লম্বভাবে এবংHBox-এ উপাদানগুলি অনুভূমিকভাবে সাজানো হয়েছে।
- মিডিয়া ভিউ, ভলিউম স্লাইডার এবং বোতামগুলিকে VBox এবং HBox লেআউটে সাজানো হয়েছে।
৩. আউটপুট এবং ফিচার:
- একটি গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) উইন্ডো খোলা হবে যেখানে একটি ভিডিও/অডিও প্লে করা যাবে।
- Play, Pause, এবং Stop বোতামগুলি ব্যবহার করে মিডিয়া নিয়ন্ত্রণ করা যাবে।
- Volume Slider ব্যবহার করে ভলিউম নিয়ন্ত্রণ করা যাবে।
৪. এটি কিভাবে কাজ করবে:
- যখন আপনি প্রোগ্রামটি চালাবেন, এটি
MediaPlayerব্যবহার করে মিডিয়া ফাইলটি লোড করবে এবং সেটি প্লে শুরু করবে। - আপনি Play বোতাম দিয়ে মিডিয়া প্লে শুরু করতে পারেন, Pause বোতাম দিয়ে থামাতে পারেন, এবং Stop বোতাম দিয়ে পুরো মিডিয়া বন্ধ করতে পারেন।
- ভলিউম স্লাইডার ব্যবহার করে আপনি মিডিয়ার ভলিউম নিয়ন্ত্রণ করতে পারবেন।
৫. ফাইল পাথ (File Path):
মিডিয়া ফাইলের পাথ সঠিকভাবে প্রদান করতে হবে। উদাহরণস্বরূপ:
- Windows:
C:\\Users\\User\\Music\\your_audio_or_video.mp4 - Mac/Linux:
/Users/username/Music/your_audio_or_video.mp4
আপনি এই ফাইল পাথটি আপনার মিডিয়া ফাইলের সঠিক অবস্থান দিয়ে প্রতিস্থাপন করুন।
৬. JavaFX Media API:
JavaFX Media API মিডিয়া ফাইল (ভিডিও এবং অডিও) প্লে করতে সহায়তা করে। এটি আপনাকে ভিডিও অথবা অডিও ফাইলের জন্য প্লেয়ার তৈরি করার জন্য প্রয়োজনীয় সব ফিচার প্রদান করে:
- Media ক্লাস মিডিয়া ফাইলের URL লোড করে।
- MediaPlayer মিডিয়া ফাইল প্লে, পজ, বা স্টপ করার জন্য ব্যবহৃত হয়।
- MediaView মিডিয়া ফাইলের ভিজ্যুয়াল রিপ্রেজেন্টেশন প্রদর্শন করে।
সারাংশ:
এই উদাহরণটি একটি সহজ Media Player তৈরি করেছে যেখানে Play, Pause, Stop, এবং Volume Control রয়েছে। JavaFX এর Media API ব্যবহার করে, আপনি সহজেই ভিডিও বা অডিও প্লে করতে পারেন এবং একটি পূর্ণাঙ্গ মিডিয়া প্লেয়ার তৈরি করতে পারবেন।
Read more