Android studio 与MediaPlayer一起使用wave文件资源
我正试图学习Kotlin和Android Studio,方法是在Java中创建一个Android studio 与MediaPlayer一起使用wave文件资源,android-studio,kotlin,Android Studio,Kotlin,我正试图学习Kotlin和Android Studio,方法是在Java中创建一个MediaPlayer并播放一个wave文件。我正在尝试使代码适应Kotlin: MainActivity.kt: package com.example.debugwaveres import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.content.Context import androi
MediaPlayer
并播放一个wave文件。我正在尝试使代码适应Kotlin:
MainActivity.kt
:
package com.example.debugwaveres
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.content.Context
import android.media.MediaPlayer
import android.view.View
//class MainActivity(private val context: Context) : AppCompatActivity() {
class MainActivity : AppCompatActivity() {
private var player: MediaPlayer? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
fun play(view: View) {
if (player == null) {
player = MediaPlayer.create(this, R.raw.metro1)
player?.setOnCompletionListener {
//stopPlayer()
}
}
player?.start()
}
}
.wav
资源R.raw.metro1
已复制到res/raw
资源目录:
活动\u main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:gravity="center"
android:orientation="vertical" >
<Button
android:layout_width="99dp"
android:layout_height="wrap_content"
android:onClick="play"
android:text="Play" />
</LinearLayout>
我试过你的密码。它很好用。但你可以这样尝试:
fun play(view : View) {
if (player == null) {
player = MediaPlayer.create(this, R.raw.metro1)
player?.setOnCompletionListener {
//stopPlayer()
}
}
player?.setOnPreparedListener {
it.start()
}
}
fun play(view : View) {
if (player == null) {
player = MediaPlayer.create(this, R.raw.metro1)
player?.setOnCompletionListener {
//stopPlayer()
}
}
player?.setOnPreparedListener {
it.start()
}
}