Does Nvidia Shield TV Pro support android framework audio stream all?

I’m developing applications for nvidia shield tv.
there exists another application playing music using STREAM_MUSIC stream in the background.
so i wrote a code let my application use STREAM_NOTIFICATION stream and make possible playing another audio simultaneously.
i expected can controll each volume of stream but it didn’t work.

doesn’t nvidia shield tv pro support andriod framework audio stream?

here is a code sample below

private fun Context.playAudioAsync() {
        val context = this
        launch {
            if (mediaPlayer?.isPlaying == true) {
                return@launch
            }
            val (playTarget, startDelay) = audioPlayerList.poll() ?: return@launch

            if (mediaPlayer != null) {
                mediaPlayer?.reset()
            }
            if (startDelay != 0L) {
                runBlocking {
                    delay(startDelay)
                }
            }

            val audioAttributes = AudioAttributes.Builder()
                .setLegacyStreamType(AudioManager.STREAM_NOTIFICATION)
                .build()

            val audioFocusRequest =
                AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK)
                    .setAudioAttributes(audioAttributes)
                    .setAcceptsDelayedFocusGain(true)
                    .setOnAudioFocusChangeListener(mOnAudioFocusChangeListener)
                    .build()

            val result = audioManager?.requestAudioFocus(audioFocusRequest)

            val musicStream: Int = audioManager?.getStreamVolume(AudioManager.STREAM_MUSIC) ?: 50
            val notiStream: Int =
                audioManager?.getStreamVolume(AudioManager.STREAM_NOTIFICATION) ?: 50

            audioManager?.setStreamVolume(AudioManager.STREAM_MUSIC, musicStream / 2, 0)
            audioManager?.setStreamVolume(AudioManager.STREAM_NOTIFICATION, notiStream, 0)

            if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
                mediaPlayer = MediaPlayer().apply {
                    setAudioAttributes(audioAttributes)
                    setDataSource(
                        context,
                        Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
                            .authority(packageName)
                            .path(playTarget.toString()).build()
                    )
                    setOnCompletionListener {
                        audioManager?.setStreamVolume(AudioManager.STREAM_MUSIC, musicStream, 0)
                        audioManager?.abandonAudioFocusRequest(audioFocusRequest)
                        playAudioAsync()
                    }
                    prepare()
                    start()
                }
            }
        }
    }

here is additional information

i got stream cur volume and max volume using audiomanger api and results are like below

2023-02-21 17:01:26.842 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 4, Max volume: 7 Cur volume: 2
2023-02-21 17:01:26.843 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 8, Max volume: 15 Cur volume: 3
2023-02-21 17:01:26.843 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 3, Max volume: 15 Cur volume: 3
2023-02-21 17:01:26.844 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 5, Max volume: 7 Cur volume: 1
2023-02-21 17:01:26.844 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 2, Max volume: 7 Cur volume: 1
2023-02-21 17:01:26.845 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 1, Max volume: 7 Cur volume: 1
2023-02-21 17:01:26.846 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 0, Max volume: 5 Cur volume: 2
2023-02-21 17:01:32.571 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 4, Max volume: 7 Cur volume: 3
2023-02-21 17:01:32.572 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 8, Max volume: 15 Cur volume: 6
2023-02-21 17:01:32.573 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 3, Max volume: 15 Cur volume: 6
2023-02-21 17:01:32.574 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 5, Max volume: 7 Cur volume: 3
2023-02-21 17:01:32.575 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 2, Max volume: 7 Cur volume: 3
2023-02-21 17:01:32.576 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 1, Max volume: 7 Cur volume: 3
2023-02-21 17:01:32.578 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 0, Max volume: 5 Cur volume: 3
2023-02-21 17:01:37.522 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 4, Max volume: 7 Cur volume: 5
2023-02-21 17:01:37.524 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 8, Max volume: 15 Cur volume: 9
2023-02-21 17:01:37.525 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 3, Max volume: 15 Cur volume: 9
2023-02-21 17:01:37.526 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 5, Max volume: 7 Cur volume: 4
2023-02-21 17:01:37.527 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 2, Max volume: 7 Cur volume: 4
2023-02-21 17:01:37.528 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 1, Max volume: 7 Cur volume: 4
2023-02-21 17:01:37.528 31705-31750/com.example.myapplication D/STREAM_TYPE: Stream type: 0, Max volume: 5 Cur volume: 3

when i increase/decrease volume using remote controller, all the volumes of streams changed simultaneously.

why is this happened?

can i tell this support stream types or not?

did i ask a dumb question? Or is there never been no needs like me to implement seperated audio stream types in tv application?

please give me a little word can help me make conclusion…