Android studio中的音频SeekBar问题

问题描述 投票:0回答:1
package com.example.va_embedding

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.View
import android.widget.MediaController
import android.widget.ProgressBar
import android.widget.SeekBar
import android.widget.VideoView
import android.widget.SeekBar.OnSeekBarChangeListener
import kotlinx.android.synthetic.main.activity_main.*


class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        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(SeekBar.OnSeekBarChangeListener(){
            @Override
            onProgressChanged(SeekBar seekBar2, Int: i, boolean : b)
            Log.i(:"Seekbar changed", i = Integer.toString())

        })

        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"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.0" />

    <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>

目标:在应用程序中获得一个音频搜索条。在应用程序中得到一个音频SeekBar

问题:我收到一个错误,说Interface没有构造函数。我收到一个错误信息,说接口没有构造函数。当我试图添加OnSeekBarChangeListener()方法时,我也面临一个问题。

我使用的是Android Studio 3.6.1。

我的SDK版本是28

恳请帮助

android android-studio volume android-seekbar
1个回答
0
投票

SeekBar.OnSeekBarChangeListener是一个接口而不是一个类,你不能调用SeekBar.OnSeekBarChangeListener()的构造函数。

所以可以使用下面的代码。

vc.setOnSeekBarChangeListener(object: SeekBar.OnSeekBarChangeListener{
            @Override
            override fun onProgressChanged(
                seekBar: SeekBar?, progress: Int,
                fromUser: Boolean
            ){
            Log.i(:"Seekbar changed", i = Integer.toString())
           }
        })
© www.soinside.com 2019 - 2024. All rights reserved.