[Modify]声音签名功能开发
This commit is contained in:
@@ -265,6 +265,9 @@ dependencies {
|
||||
|
||||
implementation 'com.github.yalantis:ucrop:2.2.7'
|
||||
|
||||
implementation 'com.github.SheTieJun.Mp3Recorder:recorder-mix:1.7.1'
|
||||
implementation 'com.github.SheTieJun.Mp3Recorder:recorder-core:1.7.1'
|
||||
|
||||
}
|
||||
|
||||
channel {
|
||||
|
@@ -12,6 +12,7 @@ import androidx.fragment.app.Fragment;
|
||||
import com.yizhuan.erban.audio.AudioRecordActivity;
|
||||
import com.yizhuan.erban.audio.MyVoiceActivity;
|
||||
import com.yizhuan.erban.audio.RecordingVoiceActivity;
|
||||
import com.yizhuan.erban.audio.SoundSignatureActivity;
|
||||
import com.yizhuan.erban.ui.login.AddUserInfoActivity;
|
||||
import com.yizhuan.erban.ui.login.ModifyInfoActivity;
|
||||
import com.yizhuan.erban.ui.setting.SettingActivity;
|
||||
@@ -135,6 +136,12 @@ public class UIHelper {
|
||||
mActivity.startActivityForResult(intent, requestCode);
|
||||
}
|
||||
|
||||
public static void showSoundAct(Activity mActivity, int requestCode, String label) {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_MY_SOUND, ResUtil.getString(R.string.yizhuan_erban_uihelper_03) + label);
|
||||
Intent intent = new Intent(mActivity, SoundSignatureActivity.class);
|
||||
mActivity.startActivityForResult(intent, requestCode);
|
||||
}
|
||||
|
||||
public static void showModifyInfoAct(Activity mActivity, int requestCode, String title) {
|
||||
Intent intent = new Intent(mActivity, ModifyInfoActivity.class);
|
||||
intent.putExtra("title", title);
|
||||
|
@@ -1,11 +1,27 @@
|
||||
package com.yizhuan.erban.audio
|
||||
|
||||
import com.netease.nim.uikit.StatusBarUtil
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseViewBindingActivity
|
||||
import com.yizhuan.erban.databinding.ActivitySoundSignatureBinding
|
||||
|
||||
/**
|
||||
* @author wushaocheng
|
||||
* 声音签名
|
||||
*/
|
||||
class SoundSignatureActivity : BaseViewBindingActivity<ActivitySoundSignatureBinding>() {
|
||||
|
||||
override fun init() {
|
||||
|
||||
initWhiteTitleBar(getString(R.string.label_user_sound_signature))
|
||||
}
|
||||
|
||||
override fun needSteepStateBar(): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun setStatusBar() {
|
||||
StatusBarUtil.transparencyBar(this)
|
||||
StatusBarUtil.StatusBarLightMode(this)
|
||||
}
|
||||
|
||||
}
|
@@ -139,6 +139,7 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
|
||||
binding.ivDescMore.setOnClickListener(this)
|
||||
binding.layoutPhotos.setOnClickListener(this)
|
||||
binding.rlAudioRecord.setOnClickListener(this)
|
||||
binding.llAudioRecord.setOnClickListener(this)
|
||||
val mLayoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true)
|
||||
binding.rvPhotos.layoutManager = mLayoutManager
|
||||
}
|
||||
@@ -248,9 +249,18 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
|
||||
}, R.string.ask_again,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
)
|
||||
R.id.ll_audio_record ->{
|
||||
|
||||
}
|
||||
R.id.ll_audio_record ->checkPermission(
|
||||
{
|
||||
// 点击跳转到声音签名页面
|
||||
UIHelper.showSoundAct(
|
||||
this@UserInfoModifyActivity,
|
||||
Method.AUDIO,
|
||||
ResUtil.getString(R.string.ui_user_userinfomodifyactivity_07)
|
||||
)
|
||||
isAvatar = false
|
||||
}, R.string.ask_again,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
)
|
||||
R.id.layout_photos -> UserModifyPhotosActivity.startForResult(
|
||||
this@UserInfoModifyActivity,
|
||||
userId,
|
||||
|
BIN
app/src/main/res/drawable-xhdpi/ic_restart_record.webp
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_restart_record.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_save_record.webp
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_save_record.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.7 KiB |
13
app/src/main/res/drawable/bg_gradient_dbe3fc_f2f1ff.xml
Normal file
13
app/src/main/res/drawable/bg_gradient_dbe3fc_f2f1ff.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:centerColor="#DBE3FC"
|
||||
android:endColor="#F2F1FF"
|
||||
android:startColor="#FFFFFF"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
|
||||
</shape>
|
@@ -7,6 +7,13 @@
|
||||
android:background="@color/white"
|
||||
tools:context=".audio.SoundSignatureActivity">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:background="@drawable/bg_gradient_dbe3fc_f2f1ff"
|
||||
app:layout_constraintDimensionRatio="1.74:1"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
||||
<com.yizhuan.erban.base.TitleBar
|
||||
android:id="@+id/title_bar"
|
||||
android:layout_width="match_parent"
|
||||
@@ -32,7 +39,7 @@
|
||||
app:layout_constraintEnd_toEndOf="@+id/ivSoundTranscribe"
|
||||
app:layout_constraintStart_toStartOf="@+id/ivSoundTranscribe"
|
||||
app:layout_constraintTop_toTopOf="@+id/ivSoundTranscribe"
|
||||
tools:src="@drawable/ic_sound_record" />
|
||||
android:src="@drawable/ic_sound_record" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tvSoundTime"
|
||||
@@ -58,6 +65,37 @@
|
||||
app:layout_constraintStart_toStartOf="@+id/ivSoundTranscribe"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvSoundTime" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/frRestartBg"
|
||||
android:background="@drawable/bg_ffffff_r360"
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="42dp"
|
||||
android:elevation="1dp"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
app:layout_constraintTop_toTopOf="@+id/frPlayBg"
|
||||
app:layout_constraintEnd_toStartOf="@+id/frPlayBg"
|
||||
app:layout_constraintStart_toStartOf="parent">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/ivRestartRecord"
|
||||
android:layout_width="@dimen/dp_18"
|
||||
android:layout_height="@dimen/dp_18"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/ic_restart_record" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:text="@string/restart_record"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:textColor="@color/color_6D6B89"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
app:layout_constraintTop_toBottomOf="@+id/frRestartBg"
|
||||
app:layout_constraintStart_toStartOf="@+id/frRestartBg"
|
||||
app:layout_constraintEnd_toEndOf="@+id/frRestartBg"/>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/frPlayBg"
|
||||
android:background="@drawable/bg_ffffff_r360"
|
||||
@@ -92,4 +130,26 @@
|
||||
app:layout_constraintStart_toStartOf="@+id/frPlayBg"
|
||||
app:layout_constraintEnd_toEndOf="@+id/frPlayBg"/>
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/ivSaveRecord"
|
||||
android:src="@drawable/ic_save_record"
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="42dp"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
app:layout_constraintTop_toTopOf="@+id/frPlayBg"
|
||||
app:layout_constraintStart_toEndOf="@+id/frPlayBg"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:text="@string/save_record"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:textColor="@color/color_6D6B89"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
app:layout_constraintTop_toBottomOf="@+id/frRestartBg"
|
||||
app:layout_constraintStart_toStartOf="@+id/ivSaveRecord"
|
||||
app:layout_constraintEnd_toEndOf="@+id/ivSaveRecord"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@@ -5032,5 +5032,8 @@
|
||||
<string name="sound_time">%ds/60s</string>
|
||||
<string name="good_voice_brings_more_attention">好的聲音能帶來更多關注哦~</string>
|
||||
<string name="hit_start_record">點擊開始錄制</string>
|
||||
<string name="restart_record">重新錄制</string>
|
||||
<string name="save_record">保存聲音</string>
|
||||
<string name="sound_signature">聲音簽名</string>
|
||||
|
||||
</resources>
|
@@ -137,7 +137,7 @@ public class FileModel extends BaseModel implements IFileModel {
|
||||
interface Api {
|
||||
|
||||
/**
|
||||
* 获取钱包
|
||||
* 上传文件
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
|
Reference in New Issue
Block a user