如何将Media Recorder的maxAmplitude值转换为浮动以在Android中缩放动画

时间:2019-06-26 10:59:21

标签: android animation mobile mediarecorder

我有一个以圆形为背景的relativeLayout。在relativeLayout里面,我有一个imageView(请看截屏) 我有一个MediaRecorder对象,该对象在按钮的onClick上开始记录。我想为“圆形”视图制作动画,该视图是基于mediaRecorder.maxAmptitude值的relativeLayout。

这是我的代码:

带有麦克风imageView的circleView

<RelativeLayout
        android:id="@+id/circle_view"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_above="@+id/recording_options_layout"
        android:background="@drawable/recording_mic_circle"
        android:layout_centerHorizontal="true">

    <ImageView
            android:id="@+id/mic_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_mic"
            android:layout_centerInParent="true"/>

</RelativeLayout>

以及RelativeLayout的背景,它是一个形状:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="oval">
    <stroke
            android:width="10dp"
            android:color="#78d9ff"/>
</shape>

在我的活动中,我每500个工厂进行一次轮询以获取mediaRecorder.maxAmptitude值:

override fun onRecordingStarted() {
........
    Observable.interval(500L, TimeUnit.MILLISECONDS)
        .timeInterval()
        .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe {
                val maxAmptitude: Int = mediaRecorder.maxAmptitude
                Timber.e("max amptitude $maxAmptitude")
     //circle scale animation


            }

.........
    }

有人可以告诉我如何将mediaRecorder.maxAmptitude的值转换/转换为可用于scaleAnimation的浮点型吗?

提前谢谢

enter image description here

0 个答案:

没有答案