[6.2.4]语音转文字结果呈现
This commit is contained in:
@@ -96,7 +96,8 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
|
||||
private lateinit var viewAudioBg: ImageView
|
||||
private lateinit var viewAudioButton: ImageView
|
||||
private lateinit var tvAudioCountDown: TextView
|
||||
private lateinit var viewAudioStart: ImageView
|
||||
private lateinit var tvAudioResult: TextView
|
||||
|
||||
private lateinit var tvInitiativeReport: TextView
|
||||
private lateinit var tvInitiativeCancel: TextView
|
||||
@@ -162,7 +163,8 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
|
||||
viewAudioBg = mFloatLayout.findViewById(R.id.viewAudioBg)
|
||||
viewAudioButton = mFloatLayout.findViewById(R.id.viewAudioButton)
|
||||
tvAudioCountDown = mFloatLayout.findViewById(R.id.tvAudioCountDown)
|
||||
viewAudioStart = mFloatLayout.findViewById(R.id.viewAudioStart)
|
||||
tvAudioResult = mFloatLayout.findViewById(R.id.tvAudioResult)
|
||||
|
||||
tvInitiativeReport = mFloatLayout.findViewById(R.id.tvInitiativeReport)
|
||||
tvInitiativeCancel = mFloatLayout.findViewById(R.id.tvInitiativeCancel)
|
||||
@@ -223,11 +225,10 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
}else{
|
||||
//停止语音听写
|
||||
mIat?.stopListening()
|
||||
//结束倒计时
|
||||
countDownTimer?.cancel()
|
||||
countDownTimer?.onFinish()
|
||||
//将倒计时置空
|
||||
countDownTimer = null
|
||||
//结束录音
|
||||
RecordManager.getInstance().stop()
|
||||
//结束动画
|
||||
viewAudioStart.clearAnimation()
|
||||
uploadAudio()
|
||||
}
|
||||
}
|
||||
@@ -318,10 +319,11 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
}
|
||||
Log.i(TAG, "语音内容=$resultBuffer")
|
||||
reasonDetail = resultBuffer.toString()
|
||||
if(!reasonDetail.isNullOrEmpty()){
|
||||
tvAudioResult.text = reasonDetail
|
||||
}
|
||||
}
|
||||
|
||||
var countDownTimer: CountDownTimer?=null
|
||||
|
||||
private fun setAudio(status: Boolean){
|
||||
if(status){
|
||||
//开始录音
|
||||
@@ -344,35 +346,17 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
)
|
||||
scaleAnimation.duration = 1000
|
||||
scaleAnimation.repeatCount = -1
|
||||
viewAudioButton.startAnimation(scaleAnimation)
|
||||
|
||||
tvAudioCountDown.visibility = View.VISIBLE
|
||||
//开始倒计时
|
||||
if(countDownTimer==null){
|
||||
countDownTimer = object : CountDownTimer(60000, 1000) {
|
||||
|
||||
override fun onTick(millisUntilFinished: Long) {
|
||||
tvAudioCountDown.text = "${millisUntilFinished/1000}S"
|
||||
}
|
||||
|
||||
override fun onFinish() {
|
||||
tvAudioCountDown.visibility = View.GONE
|
||||
//结束录音
|
||||
RecordManager.getInstance().stop()
|
||||
//结束动画
|
||||
viewAudioButton.clearAnimation()
|
||||
}
|
||||
}
|
||||
countDownTimer?.start()
|
||||
}
|
||||
viewAudioButton.visibility = View.GONE
|
||||
viewAudioStart.visibility = View.VISIBLE
|
||||
viewAudioStart.startAnimation(scaleAnimation)
|
||||
tvAudioResult.text = "..."
|
||||
}else{
|
||||
//停止语音听写
|
||||
mIat?.stopListening()
|
||||
//结束倒计时
|
||||
countDownTimer?.cancel()
|
||||
countDownTimer?.onFinish()
|
||||
//将倒计时置空
|
||||
countDownTimer = null
|
||||
//结束录音
|
||||
RecordManager.getInstance().stop()
|
||||
//结束动画
|
||||
viewAudioStart.clearAnimation()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,23 +3,18 @@ package com.zhjt.mogo_core_function_devatools.badcase.biz
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.Color
|
||||
import android.graphics.PixelFormat
|
||||
import android.os.Bundle
|
||||
import android.os.CountDownTimer
|
||||
import android.os.Handler
|
||||
import android.util.DisplayMetrics
|
||||
import android.util.Log
|
||||
import android.view.*
|
||||
import android.view.animation.Animation
|
||||
import android.view.animation.ScaleAnimation
|
||||
import android.widget.CheckBox
|
||||
import android.widget.CompoundButton
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.flexbox.FlexboxLayout
|
||||
import com.iflytek.cloud.ErrorCode
|
||||
import com.iflytek.cloud.InitListener
|
||||
import com.iflytek.cloud.RecognizerListener
|
||||
@@ -61,13 +56,11 @@ import com.zhjt.mogo_core_function_devatools.badcase.BadCaseAnalyticsManager
|
||||
import com.zhjt.mogo_core_function_devatools.badcase.biz.adapter.BadReasonListAdapter
|
||||
import com.zhjt.mogo_core_function_devatools.badcase.repository.net.api.BadCaseNetManager
|
||||
import com.zhjt.mogo_core_function_devatools.badcase.repository.store.BadCaseReasonStore
|
||||
import me.jessyan.autosize.utils.AutoSizeUtils
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.json.JSONArray
|
||||
import org.json.JSONException
|
||||
import org.json.JSONObject
|
||||
import java.io.File
|
||||
import java.lang.Exception
|
||||
import java.lang.StringBuilder
|
||||
|
||||
/**
|
||||
@@ -112,7 +105,6 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
private var mInScreenY = 0f
|
||||
|
||||
private var clickListener: ClickListener? = null
|
||||
var countDownTimer: CountDownTimer?=null
|
||||
|
||||
private lateinit var tvPassiveNum: TextView
|
||||
private lateinit var tvPassiveTime: TextView
|
||||
@@ -120,7 +112,8 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
|
||||
private lateinit var viewAudioBg: ImageView
|
||||
private lateinit var viewAudioButton: ImageView
|
||||
private lateinit var tvAudioCountDown: TextView
|
||||
private lateinit var viewAudioStart: ImageView
|
||||
private lateinit var tvAudioResult: TextView
|
||||
|
||||
private lateinit var tvPassiveReport: TextView
|
||||
private lateinit var tvPassiveCancel: TextView
|
||||
@@ -160,8 +153,9 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
tvPassiveTime = mFloatLayout.findViewById(R.id.tvPassiveTime)
|
||||
tvPassiveIdentity = mFloatLayout.findViewById(R.id.tvPassiveIdentity)
|
||||
viewAudioBg = mFloatLayout.findViewById(R.id.viewAudioBg)
|
||||
tvAudioResult = mFloatLayout.findViewById(R.id.tvAudioResult)
|
||||
viewAudioButton = mFloatLayout.findViewById(R.id.viewAudioButton)
|
||||
tvAudioCountDown = mFloatLayout.findViewById(R.id.tvAudioCountDown)
|
||||
viewAudioStart = mFloatLayout.findViewById(R.id.viewAudioStart)
|
||||
tvPassiveReport = mFloatLayout.findViewById(R.id.tvPassiveReport)
|
||||
tvPassiveCancel = mFloatLayout.findViewById(R.id.tvPassiveCancel)
|
||||
rvPassiveList = mFloatLayout.findViewById(R.id.rvPassiveList)
|
||||
@@ -219,11 +213,10 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
}else{
|
||||
//停止语音听写
|
||||
mIat?.stopListening()
|
||||
//结束倒计时
|
||||
countDownTimer?.cancel()
|
||||
countDownTimer?.onFinish()
|
||||
//将倒计时置空
|
||||
countDownTimer = null
|
||||
//结束录音
|
||||
RecordManager.getInstance().stop()
|
||||
//结束动画
|
||||
viewAudioStart.clearAnimation()
|
||||
uploadAudio()
|
||||
}
|
||||
//删除记录
|
||||
@@ -320,6 +313,9 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
}
|
||||
Log.i(TAG, "语音内容=$resultBuffer")
|
||||
reasonDetail = resultBuffer.toString()
|
||||
if(!reasonDetail.isNullOrEmpty()){
|
||||
tvAudioResult.text = reasonDetail
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -345,35 +341,17 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
)
|
||||
scaleAnimation.duration = 1000
|
||||
scaleAnimation.repeatCount = -1
|
||||
viewAudioButton.startAnimation(scaleAnimation)
|
||||
|
||||
tvAudioCountDown.visibility = View.VISIBLE
|
||||
//开始倒计时
|
||||
if(countDownTimer==null){
|
||||
countDownTimer = object : CountDownTimer(60000, 1000) {
|
||||
|
||||
override fun onTick(millisUntilFinished: Long) {
|
||||
tvAudioCountDown.text = "${millisUntilFinished/1000}S"
|
||||
}
|
||||
|
||||
override fun onFinish() {
|
||||
tvAudioCountDown.visibility = View.GONE
|
||||
//结束录音
|
||||
RecordManager.getInstance().stop()
|
||||
//结束动画
|
||||
viewAudioButton.clearAnimation()
|
||||
}
|
||||
}
|
||||
countDownTimer?.start()
|
||||
}
|
||||
viewAudioButton.visibility = View.GONE
|
||||
viewAudioStart.visibility = View.VISIBLE
|
||||
viewAudioStart.startAnimation(scaleAnimation)
|
||||
tvAudioResult.text = "..."
|
||||
}else{
|
||||
//停止语音听写
|
||||
mIat?.stopListening()
|
||||
//结束倒计时
|
||||
countDownTimer?.cancel()
|
||||
countDownTimer?.onFinish()
|
||||
//将倒计时置空
|
||||
countDownTimer = null
|
||||
//结束录音
|
||||
RecordManager.getInstance().stop()
|
||||
//结束动画
|
||||
viewAudioStart.clearAnimation()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -104,6 +104,23 @@
|
||||
android:layout_marginBottom="@dimen/dp_40"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvAudioResult"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="@id/viewAudioBg"
|
||||
app:layout_constraintBottom_toBottomOf="@id/viewAudioBg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/viewAudioBg"
|
||||
app:layout_constraintRight_toLeftOf="@id/viewAudioStart"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_29"
|
||||
android:layout_marginStart="@dimen/dp_51"
|
||||
android:layout_marginEnd="@dimen/dp_51"
|
||||
android:gravity="center"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="start"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/viewAudioButton"
|
||||
android:layout_width="@dimen/dp_34"
|
||||
@@ -115,16 +132,16 @@
|
||||
android:background="@drawable/icon_bad_case_audio_normal"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvAudioCountDown"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="@dimen/dp_27"
|
||||
app:layout_constraintTop_toTopOf="@id/viewAudioButton"
|
||||
app:layout_constraintBottom_toBottomOf="@id/viewAudioButton"
|
||||
app:layout_constraintLeft_toRightOf="@id/viewAudioButton"
|
||||
android:layout_marginStart="@dimen/dp_30"
|
||||
<ImageView
|
||||
android:id="@+id/viewAudioStart"
|
||||
android:layout_width="@dimen/dp_34"
|
||||
android:layout_height="@dimen/dp_48"
|
||||
app:layout_constraintTop_toTopOf="@id/viewAudioBg"
|
||||
app:layout_constraintBottom_toBottomOf="@id/viewAudioBg"
|
||||
app:layout_constraintRight_toRightOf="@id/viewAudioBg"
|
||||
android:background="@drawable/icon_bad_case_audio_normal"
|
||||
android:layout_marginEnd="@dimen/dp_51"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
</com.mogo.eagle.core.widget.RoundConstraintLayout>
|
||||
@@ -104,6 +104,23 @@
|
||||
android:layout_marginBottom="@dimen/dp_40"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvAudioResult"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="@id/viewAudioBg"
|
||||
app:layout_constraintBottom_toBottomOf="@id/viewAudioBg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/viewAudioBg"
|
||||
app:layout_constraintRight_toLeftOf="@id/viewAudioStart"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_29"
|
||||
android:layout_marginStart="@dimen/dp_51"
|
||||
android:layout_marginEnd="@dimen/dp_51"
|
||||
android:gravity="center"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="start"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/viewAudioButton"
|
||||
android:layout_width="@dimen/dp_34"
|
||||
@@ -115,17 +132,16 @@
|
||||
android:background="@drawable/icon_bad_case_audio_normal"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvAudioCountDown"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="@dimen/dp_27"
|
||||
app:layout_constraintTop_toTopOf="@id/viewAudioButton"
|
||||
app:layout_constraintBottom_toBottomOf="@id/viewAudioButton"
|
||||
app:layout_constraintLeft_toRightOf="@id/viewAudioButton"
|
||||
android:layout_marginStart="@dimen/dp_30"
|
||||
<ImageView
|
||||
android:id="@+id/viewAudioStart"
|
||||
android:layout_width="@dimen/dp_34"
|
||||
android:layout_height="@dimen/dp_48"
|
||||
app:layout_constraintTop_toTopOf="@id/viewAudioBg"
|
||||
app:layout_constraintBottom_toBottomOf="@id/viewAudioBg"
|
||||
app:layout_constraintRight_toRightOf="@id/viewAudioBg"
|
||||
android:background="@drawable/icon_bad_case_audio_normal"
|
||||
android:layout_marginEnd="@dimen/dp_51"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
|
||||
</com.mogo.eagle.core.widget.RoundConstraintLayout>
|
||||
Reference in New Issue
Block a user