파이어몽키에서 웹상의 동영상을 재생하는 방법이 있어 소개해 드립니다.
한국 델파모에서 활동 중인 권순길님이 제공해 주셨습니다.
원글
안녕하세요. 권순길입니다.
개발하던 도중 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