gpt4 book ai didi

java - 如何在安卓应用中设置最大音量?

转载 作者:行者123 更新时间:2023-12-02 12:56:17 28 4
gpt4 key购买 nike

package com.example.va_embedding

import android.content.Context
import android.media.AudioManager
import android.media.MediaPlayer
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.provider.MediaStore
import android.util.Log
import android.view.View
import android.widget.MediaController
import android.widget.SeekBar
import android.widget.VideoView
import android.widget.SeekBar.OnSeekBarChangeListener
import kotlinx.android.synthetic.main.activity_main.*


class MainActivity : AppCompatActivity() {

private lateinit var mediaPlayer: MediaPlayer
private lateinit var audioManager: AudioManager



fun play(view: View){
mediaPlayer.start()

}

fun pause(view: View){
mediaPlayer.pause()
}


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

getSystemService(Context.AUDIO_SERVICE)

val maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
val volumeControl = findViewById<SeekBar>(R.id.seekBar2)

volumeControl.max(maxVolume)


val venom = findViewById<VideoView>(R.id.venomvideo)

venom.setVideoPath("android.resource://" + packageName + "/" + R.raw.venom)

val mediaC = MediaController(this)

mediaC.setAnchorView(venom)

venom.setMediaController(mediaC)

val vc = findViewById<SeekBar>(R.id.seekBar2)

vc.setOnSeekBarChangeListener(object : OnSeekBarChangeListener {
override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
Log.i("SeekBar Changed",progress.toString())
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0)

}

override fun onStartTrackingTouch(seekBar: SeekBar?) {

}

override fun onStopTrackingTouch(seekBar: SeekBar?) {

}
})

venom.start()
}
}

XML 布局
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<VideoView
android:id="@+id/venomvideo"
android:layout_width="333dp"
android:layout_height="568dp"
android:layout_marginBottom="5dp"
app:layout_constraintBottom_toTopOf="@+id/seekBar2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<SeekBar
android:id="@+id/seekBar2"
android:layout_width="249dp"
android:layout_height="73dp"
android:layout_marginStart="70dp"
android:layout_marginEnd="70dp"
android:layout_marginBottom="50dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

问题/错误最大未解决引用

目标最大音量因设备而异,此代码的目的是设置一个最大音量变量,以捕获设备的最大音量,用户可以通过搜索栏相应地改变音量

SDK版本为28

我正在使用安卓工作室 3.6.1

最佳答案

您需要初始化您的 audioManager。

audioManager = getSystemService(Context.AUDIO_SERVICE) as AudioManager

关于java - 如何在安卓应用中设置最大音量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62228415/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com