본문 바로가기

파이어몽키

TMediaPlayer에서 URL 재생 지원하기

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

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


원글


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


개발하던 도중 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