This document describes what you need to consider for developing an application on Samsung Wireless Speakers.
Update new android/ iOS library(2.3.4 higher) to use DMP2.0 and new features
General development guideline is the same for TV and speaker, regardless of receiver devices.
Type of Smart View enabled apps
Supported features
The sender API automatically discovers all available receiver devices (TV and speakers) by default.
If you support only speakers and want to show them in the list, you can check the device information of searched devices and filter out other devices(e.g. TVs).
[Example]
Service Instance
Make devices list using Service.getType() API
mSearch.setOnServiceFoundListener( new Search.OnServiceFoundListener() { @Override public void onFound(Service service) { Log.d(TAG, "Search.onFound() service : " + service.toString()); if (!mDeviceList.contains(service)) { if(Service.TYPE_SPEAKER.equals(service.getType())) { mDeviceList.add(service); Map<String, String> device = new HashMap<String, String>(); device.put("name", service.getName()); device.put("type", service.getType()); mDeviceInfos.add(device); mTVListAdapter.notifyDataSetChanged(); } } } } );
Smart View SDK on speakers ONLY supports audio playback.
The sender app should not send video or photo contents to the connected speakers.
TV/Speaker Media spec for music
Click here to find detailed media spec for music.
The decoding format is as below
Please refer to the following error cases that might cause failure in playing the contents using DMP2.0.
@Override public void ON-ERROR(com.samsung.multiscreen.Error error) { Log.v(TAG, "PlayerNotice: ON-ERROR: " + error.getMessage()); }
Format not supported 'The video audio not be loaded, either because the server or network failed or because the format is not supported.'
Data download failure 'A network error caused the audio download to fail.'
Data error 'The audio playback was aborted due to a corruption problem or because the audio used features your product did not support'
Smart View SDK for speakers currently does not support DRM(Digital Rights Management).
The sender app should control the receiver’s system volume.
Once you comply with the volume control API, it will be commonly applied and compatible across all receiver device (Speaker) and receiver types (DMP).
Use DMP's player control API and Message Listener API
//Contorl API mute() : mutes TV volume. unMute() : un-mutes TV volume. volumeUp() : increases volume of TV by 1 level. volumeDown() : decreases volume of TV by 1 level. getControlStatus() : fetches volume, repeat & shuffle control settings. setVolume(int level) : sets TV volume to specified level. //Listener onMute() : notify mute TV volume event. onUnMute() : notify unmute TV volume event. onVolumeChange() : notify change in volume level. onControlStatus(int volLevel) : notification received when getControlStatus() is called.
Speakers may have its own device control capability (e.g. remote, physical button on speaker). Currently, it is not supported to control the playback on the speaker using speaker’s remote (e.g. play/pause, previous/next)
Samsung multiroom speakers support grouping and surround setting feature.
Users can set multiple Samsung speakers into a single group and send the same music content to the group.
Also, users can set up their own surround system with multiple speakers. (Grouping among TVs and speakers is not supported.)
The grouped speakers will be discovered by the group name and will be shown as a single group. The grouping setting is only available on Samsung Multiroom app.
You must check the ‘Speaker’ checkbox among ‘Additional features’ when you submit your application with speaker support.
'Speaker' and 'DMP' submisison will be open in early Oct. Until then, please describe in the tester's note that your app supports speakers and enter the word ‘DMP’ in the ‘Cloud URL’ field, instead.