question

tifr0z avatar image
tifr0z asked

Best way to get started with a Custom Player?

What is the best way to get started with a customer player prototype? I am prototyping a Fling app with an iOS controller based on a slightly modified version of the 'FlingSample' (The iOS controller provided with the SDK) along with a slightly modified version of the 'CustomPlayerSample' (The custom player). The obvious step to make the FlingSample controller work with the custom player was to change the Service ID to use the CustomPlayerSample's SID ("amzn.fling.sample.customplayer<") instead of the default player's SID (" amzn.thin.pl"), however that doesn't seem to be enough, in particular I am seeing the following issues 1. The FlingSample controller still detects the default player even though it isn't requested ("[self.controller searchPlayerWithId:@"amzn.fling.sample.customplayer" andListener:self]" in RootViewController.m) 2. The FlingSample controller does not detect the custom player unless the user first connects to the default player then restart the FlingSample app I suspect that maybe mocking around with the FlingSample may not be the best approach? If my objective is just to prototype around the service discovery process, what's the best way to get a trivial iOS controller working with a trivial Custom player? Can someone share a some working sample code? If that matters, I am using a fire stick device for testing, software version 54.1.2.3 Message was edited by: tifr0z
amazon fling
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

memo@amazon avatar image
memo@amazon answered
Hi, We checked the behavior and it worked fine to us. Here are the detailed steps for our test. 1. Made sure FireTV Stick, iPhone6S, and Nexus9 are in same wifi network. 2. Download FlingSDK from developer website. (FlingSDK v.1.2.1) 3. Install CustomMediaPlayer sample project from SDK on Fire TV Stick 4. Open iOS FlingSample project 5. Change ServiceID in RootViewController.m file to amzn.fling.sample.customplayer which is CustomMediaPlayer SID 5-1. [self.controllersearchPlayerWithId:@"amzn.fling.sample.customplayer"andListener:self]; 6. Install this iOS FlingSample project into iPhone6S 7. Launch iOS FlingSample 8. It detects Fire TV devices that has CustomMediaPlayer sample including my FireTV Stick. 8-1. There is no empty name of device 9. Fling to CustomMediaPlayer works. 10. Open Android FlingSample project. 11. Change ServiceID in FlingActivity.java file to amzn.fling.sample.customplayer which is CustomMediaPlayer SID 11-1. mController.start("amzn.fling.sample.customplayer", mDiscovery); 12. Change Build Variants to aospDebug 13. Install this Android FlingSample project into Nexus9 14. Fling to CustomMediaPlayer works.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

tifr0z avatar image
tifr0z answered
Thanks, that was really helpful, my prototype is now working ok. I had added the 'WhisperPlay.jar' library with the Custom Player, which caused it to behave erratically. I now understand that this library should be used of the android controller, not for the player receiver. It's my fault obviously, however I found myself wondering more than once if the doc I was looking at applied to the controller or to the player so if I may add a constructive feedback, I think it would be helpful if the context was more clearly stated - especially since the APIs of the controller can be very similar to the APIs of the player in some areas Thanks!
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.