top

Wireless Speaker

This document describes what you need to consider for developing an application on Samsung Wireless Speakers.

Getting Started with Wireless Speaker

Important

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.

Spec & Features

Type of Smart View enabled apps

Supported features

Device Type Information

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]

  1. Service Instance
Device Service.Type Service
TV Samsung Smart TV Service(isSecureModeSupported=Unknown, id=uuid:7c4ccf02-cca1-40b2-8d91-053f0aed33d3, version=2.0.25, name=[TV] Samsung 9 Series mj14,type=Samsung SmartTV, isSupport={remote_available=true, DMP_DRM_PLAYREADY=false, remote_touchPad=true,…
Speaker Samsung Speaker Service(isSecureModeSupported=Unknown, id=V0CHAQVNOG363, version=2.0.25, name=[AV] Samsung R5,type=Samsung Speaker, isSupport={remote_available=false, DMP_DRM_PLAYREADY=false, remote_touchPad=false,…
  1. 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();
                    }
                }
            }
        }
);

Media Format

Important

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

Decoding Format Value
AAC Yes (DRM Free Only)
MP3 Up to 320 kbps
WAV Up to 192kHz/24bit
WMA Yes
ALAC Up to 192kHz/24bit
AIFF Up to 192kHz/24bit
OGG Yes
FLAC Up to 192kHz/24bit

Please refer to the following error cases that might cause failure in playing the contents using DMP2.0.

[Example]

   @Override
     public void ON-ERROR(com.samsung.multiscreen.Error error) {
         Log.v(TAG, "PlayerNotice: ON-ERROR: " + error.getMessage());
     }
  1. Format not supported

    ‘The video audio not be loaded, either because the server or network failed or because the format is not supported.’

  2. Data download failure

    ‘A network error caused the audio download to fail.’

  3. Data error
    ’The audio playback was aborted due to a corruption problem or because the audio used features your product did not support’

DRM

Smart View SDK for speakers currently does not support DRM(Digital Rights Management).

Volume Control

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 (Cloud app and DMP).

Cloud TV App

Sender & Receiver should define a volume event and use AudioControl API to control speaker system volume when receiver get volume event.

Speaker’s Cloud app supports 4 APIs.

void setVolume (unsigned short volume)

void setVolumeUp ()

void setVolumeDown ()

unsigned short getVolume () 

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.

Device Control

Important

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)

Grouping

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.

Registration

You must check the ‘Speaker’ checkbox among ‘Additional features’ when you submit your application with speaker support.

Important

'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.