2011. 8. 4. 12:12

Google+

Facebook 을 잡기 위한 구글의 노력일까요? 구글에서 온라인 커뮤니티(?)서비스를 Google+라는 이름으로 서비스를 제공하기로 했습니다.

"이건 단지 시작이다"라는 문구로 시작된 Google+의 화면입니다.
Google Docs라던가 Google Calendar같은 놀라운 클라우드 기술을 선보인 구글이 Google+에서는 어떤 놀라움을 선사해줄지 기대됩니다.

하지만 지금은 직접적인 서비스가 이뤄지진 않고 있고 들러주셔서 고맙다는 말과 함께 이름과 이메일 주소를 적어주면
서비스가 실제로 오픈 되었을 때 알려주겠다고 합니다.(Cool? Cool. 이러면서 말이죠)

구글의 온라인 커뮤니케이션 시도는 예전부터 계속 되어 왔었죠.
Google Talk 과 같은 서비스는 사용하는 유저들이 꾸준해왔었고 Twitter의 기능을 아는 사람과 공유하기 위해 만들어진 Google Buzz 서비스도 있었죠.(크게 유행하진 못했지만)

사실 Google은 이미지를 업로드하면 Picasa에 같이 공유되고 동영상은 Youtube를 통해 공유되고
문서는 Google Docs와 공유되면서 일정표 또한 Google Calender를 통해 공유됩니다.
누구라도 클라우드 환경을 구축할 수 있게 되면서 그 중심엔 Google이 있게 되었죠.
이제 Facebook의 커뮤니티 서비스 또한 시작하려고 합니다.

인터넷 세상의 싸움은 끝나지 않는군요. ㅎㅎ

좀더 자세한 내용은 이 서비스의 설명은 직접 들어가셔서 확인해보세요.

http://goo.gl/GCUYQ

'etc' 카테고리의 다른 글

BlogAPI 사용하기  (0) 2011.07.21
아이폰에서 포스팅하기  (1) 2011.06.15
2011. 7. 21. 11:09

BlogAPI 사용하기

오늘 블로그에 사람들이 얼마나 들어왔는지 관리자 메뉴를 보다가

두둥! 방문자가 5명! 아직 아침이니깐 더 사람이 올 거라는 믿음으로 여기저기 뒤져보다 BlogAPI라는게 눈에 띄여 한번 사용해보기로 했다.

사실 지금 사용하는 이 글이 BlogAPI기능을 이용해 쓰고 있는데 기존의 관리자 페이지에서 글을 쓰는 것보다

Office WORD를 이용하는게 확실히 수월하다고 느꼈음.
게다가 이미지 업로드도 자동으로 해주기까지 하니 멋지다. BlogAPI. 관심있는 분은 한번 써보세요.

사용법은 http://guide.tistory.com/114을 확인해보삼.

'etc' 카테고리의 다른 글

Google+  (0) 2011.08.04
아이폰에서 포스팅하기  (1) 2011.06.15
2011. 7. 19. 19:27

OSMF로 플레이어 만들기 - 2탄 - 영상재생하기


컴파일도 잘 되는거 같으니 이제 코드를 좀 적어줘야겠다. OSMF에서 가장 중요한 녀석은 MediaPlayer라는 클래스다. 이녀석이 재생 컨트롤도 맡고 있고 시간도 뱉어낸다. 온갖 이벤트를 발생시켜서 플레이어의 상태도 알려준다. API를 살펴보자.
어도비가 다른건 몰라도 Language Reference를 기똥차게 만든다고 생각한다. 어쩜 이렇게 잘 만드는지. MediaPlayer를 찾아들어가서 보니 Example이 떡하니 있다.


요 예제를 그대로 Main 클래스에 옮겨서 컴파일 해보도록 하자. 아, 물론 package 경로랑 constructor 이름은 Main 클래스에 맞게 고쳐야겠지.
그래서 전에 만든 명령어를 이용해 컴파일을 한 다음 swf를 실행해 보자.


예제를 만들고 나서 알았다. 파일의 확장자가 mp3 였다는 사실을!! 이런!! 그러고 보니 AudioElement라는 클래스를 사용한걸 보니 영상쪽이 아니라 mp3 재생기였다.
생각해보니 OSMF Feature를 보면 재생할 수 있는 포멧들이 쭉 나와있는데 mov, mp4, flv, swf, mp3... 등등이라고 나와있다.


잘 읽어보니 OSMF에서 재생되는 포멧이 아니라 Flash Player 10.0 이후 버젼에선 저런 포멧들을 지원한다는 이야기인거다. 어쨌든 지금 뭘 재생할 수 있느냐가 중요한게 아니라 영상을 재생하고 싶은거니깐 일단 영상부터 나오게 해보자.

예제 코드를 아래와 같이 살짝 수정해 보자.
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;

import org.osmf.containers.MediaContainer;
import org.osmf.elements.VideoElement;
import org.osmf.events.TimeEvent;
import org.osmf.media.MediaPlayer;
import org.osmf.media.URLResource;
import org.osmf.media.MediaPlayerSprite;

public class Main extends Sprite
{
    private var mediaPlayer:MediaPlayer;

    public function Main()
    { 
        super();

        stage.scaleMode = StageScaleMode.NO_SCALE;
        stage.align = StageAlign.TOP_LEFT;

        var mediaPlayerSprite:MediaPlayerSprite = new MediaPlayerSprite();
        var videoElement:VideoElement = new VideoElement();

        videoElement.resource = new URLResource("rtmp://cp67126.edgefcs.net/ondemand/mediapm/strobe/content/
  test/SpaceAloneHD_sounas_640_500_short
"
);

        mediaPlayer = mediaPlayerSprite.mediaPlayer;

        addChild( mediaPlayerSprite );

        mediaPlayer.volume = .5;
        mediaPlayer.loop = true;
        mediaPlayer.addEventListener(TimeEvent.CURRENT_TIME_CHANGE, onTimeUpdated); 
        mediaPlayer.addEventListener(TimeEvent.DURATION_CHANGE, onTimeUpdated);
        mediaPlayer.autoPlay = true;
        mediaPlayer.media = videoElement; 
    }

    private function onTimeUpdated(event:TimeEvent):void
    {
        trace('time: ' + mediaPlayer.currentTime + ' duration: ' + mediaPlayer.duration);
    }
}
}

이렇게 수정하고 컴파일을 하면 아래와 같은 에러메시지를 확인 할 수 있는데

사실 이 내용은 "RSL 컴파일 안되니까 옵션에서 빼라"는 말입니다. 저 메시지를 보게되면 명령어를 다음과 같이 바꿔서 컴파일 해주면 된다. RSL 컴파일에 대해서는 여러 블로그에서 설명을 하고 있으므로 한번 검색해서 스스로 공부해 보길 바란다.



위에 빨간줄 쳐진 부분을 컴파일 옵션에 포함시키면 위와 같은 현상은 없어지지만 swf 파일의 용량이 129kb로 뻥튀기 된다. 그 이유는 RSL 컴파일에 대해서 공부하면 자연스럽게 나오므로 따로 설명하진 않겠다.

컴파일도 되었겠다. 한번 swf를 실행해보자.


오오오 동영상이 재생된다. 어디나라 언어인진 못알아 보겠지만; 파일명에 확장자가 없는데도 잘 재생되는 걸 보니 꽤나 똑똑하게 만들어졌나 보다.( flash.media.Video 객체가 꽤나 똑똑한 모양 )
다음 3탄에서는 간단한 컨트롤러를 이용해서 동영상을 컨트롤 하는 것을 만들어볼 예정이지만 언제 만들어질지는 알기 힘들다. 왜냐하면 꽤나 큰 프로젝트를 맡아서 진행하게 되어 시간이 부족해졌기 때문인데... 언제든 짬짬히 다음 3탄을 만들어 올리도록 하겠다. 에헴.