SharkMote is a UPnP™ */DLNA remote control. It allows you to play your media stored on your media server on your UPnP™ */DLNA capable devices. You can use it as replacement of all those remote controls you have for all those devices.
You can also use the SharkMote as a UPnP™ */DLNA client to stream media from your media server to your android phone.
The SharkMote uses the CyberLink library http://www.cybergarage.org/twiki/bin/view/Main/CyberLinkForJava which is an excellent library.
How it works
Start the app and you'll be presented with two tabs. The first tab (which will hold the server eventually) might be empty. Once SharkMote starts finding servers they'll show up here in the list. NOTE!! You'll need to turn on your WLAN so SharkMote can find and communicate with servers and renders.
Navigating in the SharkMote is easy. Just click on the server you like to browse. The first folder (the root folder) will open up and display what the server has to offer. Continue clicking until you get to your media.
Clicking on a media file will open up the render selection dialog. This will display a list with all renders found (so far). The "Local" render is the SharkMote itself (that is the android device you are holding in your hand). Click on render were you wan't your media to play and voila music (or video or an image) will start playing on that render.
If you selected the "Local" render and the media was a visula one (that is it was a picture or a video) a new dialog will pop up displaying the image or the video.
Once your media is playing you can look on the Renders tab for the current status of your render network.
At the top of the render there is a list with a renders found so far with a brief status message. In the middle there are some basic render control keys. Once you click on a render in the list that render will become the "active" render of the SharkMote (the text "Active Render: None" will change to "ActiveRender: xxxx") and below the control keys a thumbnail and information about the media will be shown (if the server provides this infroamtion otherwise it will just be the name of the media file). Clicking on the control keys will perform that action on the active render, if no render has been selected the render selection dialog will appear and allow you to select which render to perform the action on.
Instead of just clicking around (or browsing) you can perofrm a search towards the server. The search can be started at any level and is initiated by a "long-click". If this is performed on a folder entry the search box will appear.
If the "long-click" is performed on a media file instead of a folder a dialog with info about the media will be showed (if the server provides it, otherwise just the title of the media will be displayed).
The SharkMote has been designed to run straight out of the box with as little as possible configuration. However there are somo configuration parameters that you can modify most of them control how to play your media.
- Always browse (default: disabled): Some media servers doesn't support search. Enabling this setting will make the "long-click" behave as the short click and just continue to browse the folder structure of the server.
- Auto Play (default: disabled): This option allows you to start play automatically when a new folder is opend. If enabled it will start playing the first media file found in the folder. If no media file is found nothing will start playing.
- Auto continue (default:enabled): When a media file has finished playing this setting controls what the SharkMote will do next. If enabled the SharkMote will autmatically play the next media file (within the same folder. SharkMote will not automatically open new folders) on the same render (without asking). Next is diffrent depening on other settings.
- Hold Media Type (default: disabled): If enabled the media type (video,audio,image) of the next media will be the same as that of the previous. That is if you played an audio track the next media to played will also be an audio track or nothing.
- Repeat (default: disabled): Once all media files within a folder has been played this option will (if enabled) start over from the top with the first again. The first track differs depending on other settings.
- Shuffle (default: disabled): Control if the SharkMote should use randomized playback order. This also implies Auto Continue.
- Thumbnails (default:enabled): Servers can supplie a thumbnail to go with the media file. This is nice to see when browsing trough your media collection. However downloading the thumbnails from the server takes time. If you think displaying the result of your browse/search is slow disabling thumbnails will make it faster.
SharkMote has been tested with various servers/renders but not all. One of the best servers is the PS3 Media Server (http://ps3mediaserver.org/forum/index.php?sid=4be10c82195fa4c720cb990fe314a326) but in order for the PS3 Media Server to work some patches are needed see http://ps3mediaserver.org/forum/viewtopic.php?f=11&t=8780.
SharkMote was designed to be a remote control. The local media playback is depending on the operating system (android) to supply these things. Thus it uses the android media player for playback with it's pros and cons see http://developer.android.com/guide/appendix/media-formats.html.
Things that might be added
- Local file rendering
- Improved media player
- Your request?
* UPnP ™ is a certification mark of the UPnP™ Implementers Corporation.
The CyberLink library is licensed with this license
|Copyright (c) 2003-2010, Satoshi Konno|
|All rights reserved.|
|Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:|
|* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.|
|* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.|
|* Neither the name of the Cyber Garage nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.|
|THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS|
|"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT|
|LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR|
|A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR|
|CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,|
|EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,|
|PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR|
|PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF|
|LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING|
|NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS|
|SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.|