파이어몽키

TMediaPlayer에서 URL 재생 지원하기

험프리.김현수 2014. 2. 10. 09:30

파이어몽키에서 웹상의 동영상을 재생하는 방법이 있어 소개해 드립니다.

한국 델파모에서 활동 중인 권순길님이 제공해 주셨습니다.


원글


안녕하세요. 권순길입니다.


개발하던 도중 URL 재생을 해야할 필요가 있어서 찾아 보다 보니... 

AvPlayer framework가 다 포팅은 되어 있지만 파일 네임을 받아서 TMedia를 생성하는 부분에서

URL 재생을 전혀 고려하지 않고 코딩이 되어 있더군요. Android도 역시 기능은 있는데 구현이 되어 있지 않았습니다.

그래서 간단하게 설명 드립니다.

[IOS]
 기존 코드 :   URL := TNSUrl.Wrap(TNSUrl.OCClass.fileURLWithPath(NSStr(FileName)));

 URL 지원을 위해서는 URL을 생성해줄때  URLWithString 을 이용해서 URL을 생성해주면 됩니다.
 지원 코드 :   URL := TNSUrl.Wrap(TNSUrl.OCClass.URLWithString(NSStr(AbsoluteFileName)))

[ANDROID]
 기존 코드 : FPlayer.setDataSource(StringToJString(FileName));

 URL을 지원하기 위해서는 setDataSource,  StrToJURI로 변환하여 넣어주시면 됩니다.
 지원 코드 : FPlayer.setDataSource(SharedActivityContext, StrToJURI(FileName))

추가로 ANDROID의 경우 파일디스크립터로 읽어와서 넣어줘도 되더군요.  
  // Stream 재생
  // FPlayer.setDataSource(TJFileInputStream.JavaClass.init(StringToJString(Filename)).getFD);

제가 설명이 너무 대충이라 간단히 수정해놓은 Android, Ios 코드를 같이 첨부합니다.



델파이 파이어몽키 개발자모임(권순길: 퀴트린 님) 글 - http://cafe.naver.com/delphifmx/155