在JavaFX中,類的成員函數(shù)和操作本身被模式化作為在目標(biāo)類中的類,而形參和返回值被表示為屬性。代表目標(biāo)對(duì)象的屬性名是“this”。代表返回值的屬性名為“return”。代表形參的屬性具有和形參相同的屬性名。而目標(biāo)對(duì)象則指使用成員函數(shù)和操作的對(duì)象。從上例中可以發(fā)現(xiàn),你也可以從Class對(duì)象中獲取相同的、被反射的操作。被反射的操作能夠像函數(shù)那樣通過將目標(biāo)對(duì)象作為第一個(gè)參數(shù)、其它參數(shù)作為后面的參數(shù)的方式被調(diào)用:
在javafx中提供了Media,MediaPlayer和MediaView類用于媒體編輯,而目前javafx支持MP3,AIFF,WAV,以及MPEG-4音頻格式,以及FLV和MPEG-4視頻格式。
看代碼:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Region;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
import javafx.util.Duration;
public class MediaDemo extends Application{
private static final String MEDIA_URL = "http://music.163.com/outchain/player?type=2&id=432506345&auto=1";
public void start(Stage primaryStage) {
Media media = new Media(MEDIA_URL);
final MediaPlayer mediaPlayer = new MediaPlayer(media);
MediaView mediaView = new MediaView(mediaPlayer);
final Button playButton= new Button(">");
playButton.setonAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
if(playButton.getText().equals(">")){
mediaPlayer.play();
playButton.setText("||");
}else{
mediaPlayer.pause();
playButton.setText(">");
}
}
});
Button rewindButton = new Button("<<");
//按鈕事件處理
rewindButton.setonAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
mediaPlayer.seek(Duration.ZERO);
}
});
//進(jìn)度條的控制
Slider slVolume = new Slider();
slVolume.setPrefWidth(150);
slVolume.setMaxWidth(Region.USE_COMPUTED_SIZE);
slVolume.setMinWidth(30);
mediaPlayer.volumeProperty().bind(slVolume.valueProperty().divide(100));
ImageView imageView = new ImageView(new Image("sound/3.jpg"));
//布局格式
HBox hBox= new HBox(10);
hBox.setAlignment(Pos.CENTER);
hBox.getChildren().addAll(playButton, rewindButton,new Label("Volume"),slVolume);
//hBox.getChildren().add(imageView);
//新建一個(gè)面板
BorderPane pane = new BorderPane();
pane.setCenter(mediaView);
pane.setBottom(hBox);
//new一個(gè)場(chǎng)景對(duì)象
Scene scene = new Scene(pane,650,650);
primaryStage.setTitle("MediaPlayer");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args){
Application.launch(args);
}
}
以上就是長(zhǎng)沙達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)小編介紹的“Java fx實(shí)現(xiàn)一個(gè)簡(jiǎn)易媒體播放器”的內(nèi)容,希望對(duì)大家有幫助,更多java最新資訊請(qǐng)繼續(xù)關(guān)注長(zhǎng)沙達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。