Android – 按钮点击取消静音VideoView

实际上,我设置了一个简单的videoView,当活动开始的时候它会被静音(声音),然后声音可以通过按下按钮来激活。

我不想使用AudioManager,而是使用Media Player。 我没有find我做错了,但是。 寻求帮助。

我的代码实际上是在Kotlin,但我相信即使是一个Java解决方案将帮助我。

这是我的代码:

import android.net.Uri import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.widget.VideoView import android.util.DisplayMetrics import android.media.MediaPlayer.OnPreparedListener import android.widget.ImageButton import android.widget.TextView class AboutActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_about) supportActionBar?.setDisplayHomeAsUpEnabled(true) /*show back button*/ /*Display video*/ val video = findViewById(R.id.coverVideo) video.setVideoPath(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.cover).toString()); video.start() /*Start video automatically*/ //Get screen size val displaymetrics = DisplayMetrics() windowManager.defaultDisplay.getMetrics(displaymetrics) val width = displaymetrics.widthPixels //get width val video_height = 9 * width / 16 //calculate height for 16:9 format //Set video height val params = video.getLayoutParams() params.width = width params.height = video_height video.setLayoutParams(params) video.setOnPreparedListener({ mp -> mp.isLooping = true; //Make it loop mp.setVolume(0f, 0f); //Mute }) val speaker = findViewById(R.id.speaker) speaker.setOnClickListener { speakerPressed(video) } } override fun onBackPressed() { super.onBackPressed() overridePendingTransition(R.anim.hold, R.anim.fade_out) } fun speakerPressed(v: Any){ val v = findViewById(R.id.coverVideo) v.setOnPreparedListener({ mp -> mp.setVolume(1.0f, 1.0f); //Unmute }) val VideoView = findViewById(R.id.textView6) VideoView.text = "ButtonPressed" //Checking if the click setup works } }