Frequently Asked Questions (FAQs)

You can create iOS apps that stream wireless HD audio (up to 24bit / 96kHz) to Harman Kardon Omni speakers over a 2.4mHz Wi-Fi network. You can play music to multiple speakers simultaneously, either in a single room or multi-room or multi-zone format. You can select speakers to play anytime, and create and manage groups of speakers.
First, register yourself at, and then download the HD Wireless SDK. You will find sample applications as well as a Getting Started guide. Within this documentation, you will find directions to setup an Xcode projects, etc. More documentation is coming soon.
The HKWirelessHD SDK supports Objective-C and Swift. All the header files are written in Objective-C. If you want to write your code in Swift, you should create a Swift bridging header file. Please refer to
No. As of today, the HKWirelessHD library only supports ARM 32/64bit architecture.
As of today, WAV and MP3 are supported. For other audio formats, you will first need to convert media files to PCM format.
Yes, it does. But, as of today, SDK does not have APIs for streaming audio playback. Developers should implement algorithms to convert streaming audio to PCM format, and play it just like normal PCM audio files. In a coming release, we plan to include APIs for streaming audio playback.
Yes. The HKWirelessHD SDK provides several APIs to add/remove speakers to current playback session.
You can adjust audio volume of speakers either individually or together. When the volume of a speaker is adjusted, your application can get notified of the volume change. This notification will specify the new actual volume level and the average volume value representing all speaker volumes.

In order to specify audio channels, you need to set the "role" attribute associated with that specific speaker’s information (defined in DeviceInfo.h). As of today, there are three role channel modes:

  • Standalone: the speaker plays as standalone, playing the original audio stream without filtering any audio channels. If the incoming channel is stereo, then the speaker plays it as stereo.
  • Stereo mode: a speaker plays only one channel, left or right, in stereo configuration.
  • 5.1 channel mode: a speaker plays one channel from the 5.1 channels.

As of today, only Standlone and Stereo modes are supported. 5.1 channel is not fully tested. Updates to be provided in future documentation releases.

No. Only one app using HKWirelessHD API can be running on the same iOS device. Therefore, if there is an HKWirelessHD app already running on your device, you must quit the app first and then start the second app.
The speaker that receives a new ‘play’ command will stop the current playback, and starts the new audio stream. The app that was playing audio to the speaker will receive an error event that notifies of interruption.
Yes. You can use isPlaying attribute defined in DeviceInfo.h. This attribute is a boolean value, and shows if the speaker is being used for playback now.
There are several APIs that group or ungroup speakers. Grouping is done by assigning the same GroupID and GroupName to speakers. That is, if two speakers, A and B, have the same value of group ID and name, then these speakers are in the same group. If you want to ungroup a speaker from existing group, then you just need to set 0 (a default group ID value) to the speaker, which means that the speaker does not belong to any group.
As of Mar. 2015, Omni 10, Omni 20, Omni Adapt and Omni Bar from Harman Kardon are supported. Currently, no other models or brand by Harman is supported.