Parcourir la source

1.专业测评添加非空判断

王鹏鹏 il y a 1 an
Parent
commit
c5c095e85f

+ 1 - 9
baselib/src/main/java/com/yingyangfly/baselib/player/VoicePlayer.java

@@ -4,14 +4,8 @@ import android.content.Context;
 import android.content.res.AssetFileDescriptor;
 import android.media.AudioManager;
 import android.media.MediaPlayer;
-import android.os.Build;
 import android.text.TextUtils;
 
-import androidx.annotation.RequiresApi;
-
-import com.yingyangfly.baselib.R;
-
-import java.io.FileDescriptor;
 import java.io.IOException;
 
 /**
@@ -73,9 +67,8 @@ public class VoicePlayer {
         }
     }
 
-    public void playByLocation(AssetFileDescriptor assetFileDescriptor, final MediaPlayer.OnCompletionListener listener) {
+    public void playByLocation(AssetFileDescriptor assetFileDescriptor) {
         isPause = false;
-        onCompletionListener = listener;
         try {
             if (assetFileDescriptor != null) {
                 mediaPlayer.setDataSource(assetFileDescriptor.getFileDescriptor(), assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength());
@@ -85,7 +78,6 @@ public class VoicePlayer {
                 });
                 mediaPlayer.setOnCompletionListener(mp -> {
                     stop();
-                    onCompletionListener = null;
                 });
             }
         } catch (IOException e) {

+ 4 - 46
game/src/main/java/com/yingyangfly/game/dialog/CountdownDialog.kt

@@ -1,6 +1,5 @@
 package com.yingyangfly.game.dialog
 
-import android.media.MediaPlayer
 import android.os.Build
 import android.os.Bundle
 import android.view.LayoutInflater
@@ -13,6 +12,7 @@ import androidx.fragment.app.DialogFragment
 import com.bumptech.glide.Glide
 import com.gyf.immersionbar.BarHide
 import com.gyf.immersionbar.ktx.immersionBar
+import com.yingyangfly.baselib.player.VoicePlayer
 import com.yingyangfly.baselib.utils.LiveEventBusUtil
 import com.yingyangfly.baselib.utils.RxBusCodes
 import com.yingyangfly.baselib.utils.RxTimer
@@ -105,64 +105,22 @@ class CountdownDialog : DialogFragment() {
                 "1" -> {
                     imageCountdown!!.setBackgroundResource(R.mipmap.icon_one)
                     imageCountdown!!.post {
-                        val mediaPlayer = MediaPlayer()
                         val wavFile = resources.assets.openFd("one.wav")
-                        mediaPlayer.setDataSource(
-                            wavFile.fileDescriptor,
-                            wavFile.startOffset,
-                            wavFile.length
-                        )
-                        mediaPlayer.prepareAsync()
-                        mediaPlayer.setOnPreparedListener {
-                            mediaPlayer.start()
-                        }
-                        mediaPlayer.setOnCompletionListener {
-                            mediaPlayer.stop()
-                            mediaPlayer.reset()
-                            mediaPlayer.release()
-                        }
+                        VoicePlayer.getInstance(requireActivity()).playByLocation(wavFile)
                     }
                 }
                 "2" -> {
                     imageCountdown!!.setBackgroundResource(R.mipmap.icon_two)
                     imageCountdown!!.post {
-                        val mediaPlayer = MediaPlayer()
                         val wavFile = resources.assets.openFd("two.wav")
-                        mediaPlayer.setDataSource(
-                            wavFile.fileDescriptor,
-                            wavFile.startOffset,
-                            wavFile.length
-                        )
-                        mediaPlayer.prepareAsync()
-                        mediaPlayer.setOnPreparedListener {
-                            mediaPlayer.start()
-                        }
-                        mediaPlayer.setOnCompletionListener {
-                            mediaPlayer.stop()
-                            mediaPlayer.reset()
-                            mediaPlayer.release()
-                        }
+                        VoicePlayer.getInstance(requireActivity()).playByLocation(wavFile)
                     }
                 }
                 "3" -> {
                     imageCountdown!!.setBackgroundResource(R.mipmap.icon_three)
                     imageCountdown!!.post {
-                        val mediaPlayer = MediaPlayer()
                         val wavFile = resources.assets.openFd("three.wav")
-                        mediaPlayer.setDataSource(
-                            wavFile.fileDescriptor,
-                            wavFile.startOffset,
-                            wavFile.length
-                        )
-                        mediaPlayer.prepareAsync()
-                        mediaPlayer.setOnPreparedListener {
-                            mediaPlayer.start()
-                        }
-                        mediaPlayer.setOnCompletionListener {
-                            mediaPlayer.stop()
-                            mediaPlayer.reset()
-                            mediaPlayer.release()
-                        }
+                        VoicePlayer.getInstance(requireActivity()).playByLocation(wavFile)
                     }
                 }
             }