Skip to main contentIBM Video Streaming Developers

Customization

Please note that as of November 1st, 2022 IBM has discontinued support for the Video Streaming Player SDK. It will not receive updates or technical support and may not fully function. For SDKs you have already downloaded, please do not use them to build applications and delete them from your archives. You may find information for alternative methods to create customized viewer experiences with our APIs on our Developer Tools pages. Users may also continue to access Video Streaming through the web, both at video.ibm.com and through Embedded modules.

Player UI

USUstreamPlayer includes a full-featured user interface by default, including a control bar, loading and error views. You can change this behavior by setting the playerControlStyle property of the player. By setting it to USPlayerControlStyleNone you can instruct the player to display media only, without any decoration views. In case you don’t want to handle all the player states and error cases manually, you can also reconfigure the control bars by setting their content using the USUstreamPlayer (USToolbar) category. You can set any of the player toolbar’s contents using the -[USToolbar setToolbarItems:animated:] API. The standard toolbar items are accessible in the USUstreamPlayer (USToolbar) category Of course you can create your own items as well by subclassing USToolbarItem.

Background audio

USUstreamPlayer can be configured for background playback, meaning that if the app goes to background the audio will continue to play. To enable the feature: change your application’s “Background Mode” to Audio, AirPlay, and Picture in Picture (select your project file, select “Capabilities” tab, open “Background Mode”, and select “Audio, AirPlay, and Picture in Picture”). Please note that this feature needs to be enabled per USUstreamPlayer instance, by setting the continuePlaybackInBackground property to YES. To configure the Control Center and Lock Screen audio control widget please refer to “Background Player” sample in our Sample App.

Localization

The SDK by default provides all texts in English only. If you want to support other languages and/or redefine certain text, add the keys listed below into the localization files of your application. If you don’t redefine these keys, then the SDK will fall back to the localizations included in the resource bundle of the SDK.

KeysEnglish values
USPlayer.content.status.offlineThis channel is off-air.
USPlayer.content.status.realizingInitializing…
USPlayer.content.status.unrealizedLoading failed, please try again.
USPlayer.content.status.unrealizedLoading failed, please try again.
USPlayer.content.lock.ageLockThis content is age restricted.
USPlayer.content.lock.birthdateLockThis content is restricted. Please provide your birthdate.
USPlayer.content.lock.geoLimitLockToo many viewers in your area.
USPlayer.content.lock.geoLockThis content is not available in your area.
USPlayer.content.lock.hashLockThis content is not supported in the mobile apps. Please use a browser for watching.
USPlayer.content.lock.IPLockThis content is not available in your network.
USPlayer.content.lock.passwordLockThis content is password protected.
USPlayer.content.lock.refererLockViewer limit exceeded.
USPlayer.content.lock.unknownLockThis content is not supported.
USPlayer.content.error.updateSorry, something went wrong. Please try again.
USPlayer.content.error.connectConnection error. Please try again.
USPlayer.content.error.unsuportedUnsupported content.
USPlayer.content.error.deletedThis video has been removed by the owner.
USPlayer.content.error.inexistentThis content is inaccessible. Try again later.
USPlayer.content.error.unknownSorry, something went wrong. Please try again.
USPlayer.content.error.authenticationInvalid password.
USPlayer.content.error.timeoutLoading timeout, please try again.
USPlayer.player.external.titleAirPlay
USPlayer.player.external.messageThis video is playing on “Apple TV”.
USPlayer.player.audioOnlyPlaying audio only…
USPlayer.player.status.bufferingBuffering…
USPlayer.control.viewerCount%d viewers
USPlayer.player.started.justNowStarted just now
USPlayer.player.started.yearsStarted years ago
USPlayer.player.started.monthsStarted months ago
USPlayer.player.started.weeksStarted weeks ago
USPlayer.player.started.daysStarted days ago
USPlayer.player.started.hoursStarted %dh %dm ago
USPlayer.player.started.minutesStarted %dm ago
USPlayer.player.status.finishedfinished
USPlayer.content.error.ageAge unconfirmed or too young user