Skip to main content

Audio-Only Player

This guide shows how to set up a player with audio-only assets via the BlendVision Android Player SDK. You can also check the sample project for audio-only assets player.

For the basic player SDK integration, you may refer to Getting Started.

Obvious difference from video playback

Background Image

When playing an audio stream, by default, the background is black. You can customize the background image with setPoster(url) method, like the following snippet:

//set poster between player and control panel
player.setPoster("YOUR_IMAGE_URL")

//If you want to remove the poster, you can do that by using
player.setPoster(null)

Quality Setting

The quality setting applies for video streams with multiple bitrate variants and isn’t available for audio-only streams.

Custom UI and Setup

Set player layout

<com.blendvision.player.playback.player.mobile.UniView
android:id="@+id/blendVisionPlayer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

Initialize player

private fun initializePlayer() {
val playerConfig = PlayerConfig(isLoopEnabled = true, playLogger = object : PlayLogger {
override fun logEvent(eventName: String, properties: Map<String, Any>) {
// log event callback
}
})
val player = UniPlayer.Builder(context = context, playerConfig = playerConfig).build()

binding.blendVisionPlayer.setupControlPanel(autoKeepScreenOnEnabled = true, defaultPanelType = PanelType.EMBEDDED)
binding.blendVisionPlayer.setUnifiedPlayer(player)
}

Customize background image

fun setPlayerBackground(imageUrl: String?) {
player.setPoster("YOUR_IMAGE_URL")
}

Load and control media

// Media Configuration
val mediaConfig = MediaConfig(
source = listOf(
MediaConfig.Source(
url = "YOUR_DASH_URL",
protocol = MediaConfig.Protocol.DASH
)
),
title = "TITLE",
imageUrl = "YOUR_IMAGE_URL",
thumbnailSeekingUrl = null,
playWhenReady = true,
sharedUrl = "SHARED_INFO",
description = "YOUR_DESCRIPTION_INFO"
)

// Load and Control Media
player.load(mediaConfig)
player.start()
player.pause()
player.play()
player.stop()
player.release()
Limitation
  • Audio playback might not be available on Chromecast.