JavaFX는 신뢰할 수 있는지에 대해서 동의만 얻으면 로컬에 있는 파일에 접근할 수 있습니다. 그렇다는 얘기는 JavaFX로 사용자 컴퓨터를 맛이가게 할 수 있는건가....-_-
JavaFX는 브라우저에서 돌아갈 때 오래전에 영광을 누렸던 Applet기반으로 돌아갑니다. 예전엔 채팅사이트나 왠만한 사이트에 Applet이 꼭 들어갔었죠. 보안문제나 속도문제 때문에 아마 Flash에 밀렸을겁니다.
혹시나 했는데 스카이러브라는 예전에 유명했던 채팅사이트는 아직도 애플릿을 사용하네요-_-

암튼 JavaFX에서 사운드재생은 Flash처럼 매우 간단합니다.
MediaPlayer라는 클래스가 있습니다.
http://java.sun.com/javafx/1.1/docs/api/javafx.scene.media/javafx.scene.media.MediaPlayer.html
그리고 Media라는 클래스가 있습니다.
http://java.sun.com/javafx/1.1/docs/api/javafx.scene.media/javafx.scene.media.Media.html

[code]
var mediaPlayer:MediaPlayer = MediaPlayer {
    volume: 0.5
    autoPlay: false
    onError: function(e:MediaError) {
        println("got a MediaPlayer Error : {e.cause} {e}");
    }
    onEndOfMedia: function() {
        println("reched end of media");
        playList.next();
    }
}

mediaPlayer.media = Media {
    source: "URL경로 및 FILE경로",
    onError: function(e:MediaError) {
        println("got a media error {e}");
    }
}
mediaPlayer.play()
[/code]
이렇게 하면 됩니다. 아....URL은 그냥 http://www.~~~.com/1.mp3 이렇게 하면 되는데요. 로컬에 있는 파일을 읽어올 경우에는 C:\1.MP3 이게 아니더군요.
file:/D:/임재범-비상.mp3 이렇게 해야되더군요.

아 그리고, JavaFX에서는 flash에 있는 DataGrid같은 게 없습니다-_- swing컴포넌트를 이용해서 만들어야해요. 구글링을 해보니 JTable로 만들어 놓은 게 있더라구요. 그걸 이용해서 플레이리스트르 만들었습니다.

근데, 가끔 브라우저(FireFox나 IE, Opeara는 안됨ㅠ)에서 버튼이 클릭이 안될 때가 있습니다-_- 왜그런지 모르겠네요. 근데 크롬은 100%클릭이 잘 됩니다. 왜그럴까요....-_- 테스트 하시는 분들은 크롬으로 하세요 ^^ 크롬짱-_-
사용자 삽입 이미지

이미지에요-_- 주소는 아래에-_-


예제 데모주소입니다(크롬으로....-_-)
http://mudchobosample.appspot.com/JavaFXMP3Player/JavaFXMP3Player.html

소스주소입니다.
http://my-svn.assembla.com/svn/mudchobosample/trunk/JavaFXMP3Player/

 
Posted by 머드초보

댓글을 달아 주세요