Android:VolumeShaper

VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)

进一步学习对声音的编辑,可以让音频的声音有变化的播放

VolumeShaper.Configuration的三个参数

duration:声音持续时间

interpolator type:声音的插值方式

volume curve:音量变化的曲线,这个参数需要两个长度相同的数组

第一个数组表示个时间点,第二个表示个时间点对

应的音量

开头和结尾的音量必须给定

第一个数组的第一个和第二个必须是0f和1.0f

创建MediaPlayer 

mPlayer=MediaPlayer.create(this,R.raw.tingjian);
VoulmeShaper的实现

VolumeShaper.Configuration cfg= new VolumeShaper.Configuration.Builder()
        .setInterpolatorType(VolumeShaper.Configuration.INTERPOLATOR_TYPE_CUBIC)
        .setCurve(new float[]{0f,0.5f,1.0f}
,new float[]{0f,1.0f,0f})
        .setDuration(1000*60)
        .build();
VolumeShaper vShaper = mPlayer.createVolumeShaper(cfg);
vShaper.apply(VolumeShaper.Operation.PLAY);
  demo: 运行的的时候出现了问题,shaper按钮没反应。

//这个普通按钮就有效果。。
putong.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mPlayer.start();
            }
        });
        mPlayer=MediaPlayer.create(this,R.raw.xiaoguojiang);
//这个就没反应??
        shaper.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                VolumeShaper.Configuration cfg= new VolumeShaper.Configuration.Builder()
                        .setCurve(new float[]{0f,0.8f,1f},new float[]{0f,1f,0f})
                        .setInterpolatorType(VolumeShaper.Configuration.INTERPOLATOR_TYPE_LINEAR)
                        .setDuration(1000*60*2)//乘以1是一分钟
                        .build();
                VolumeShaper vShaper = mPlayer.createVolumeShaper(cfg);
                vShaper.apply(VolumeShaper.Operation.PLAY);
//   原本到这里就结束了吧,偏偏运行出来的普通putong按钮(MediaPlayer.start())点击播放就有逐渐变化的效果。
            }
        });
        AudioManager am=(AudioManager) getSystemService(AUDIO_SERVICE);
 

绑定的shaper按钮点击之后不能播放。。。。(代码照着老师的抄的,老师的就能我不能?我还怀疑SDK版本都升级了难道还有问题?)

逐渐探索中。。发现普通按钮。能放shaper的效果,

于是在shaper按钮监听里又加了一句

mPlayer.start();

没想到可以了。。shaper按钮终于有了它该有的声音和效果


作者:啾啾啾( •̀ ω •́ )y


--结束END--

本文标题: Android:VolumeShaper

本文链接: https://www.lsjlt.com/news/29337.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

  • Android:VolumeShaper

    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放VolumeShaper.Configuration的三个参数durati
    阅读数:2588 Android
  • Android:VolumeShaper——音频音量控制

    一,简介VolumeShaper可以实现在音频应用的淡入,淡出,淡入淡出,淡入淡出以及其他短暂的自动音量转换。VolumeShaper进行音量控制通过VolumeShaper.Configuration实现。VolumeShaper类是在
    阅读数:208 Android
  • 【Android】Android 概述_问答

    ContentAndroid 概述创建Android项目老师文档里的问题Android 概述为什么要了解Android的版本发展?写出的App如果用到了较新版本的API,那么在运行早期版本的硬件设备上就无法运行需要考虑写出的App
    阅读数:733 Android
  • Android源码-使用Android Studio 阅读Android Framework源码

    前言Android 系统源码比较浩瀚,各级目录繁多,有没有办法将源码导入到Studio之中,进行阅读呢?答案是有的。源码提供了相关的编译方式。1.生成idegen.jar文件。在源码根目录下输入指令:xx@xx:~/code/and
  • 「面试复习」「Android」Android基础

    目录(一)Android基础1)四大组件?2)Activity和Fragment的生命周期?3)Activity的四种启动模式对比?4)Activity在有Dialog时按Home键的生命周期?5)两个Activity 之间跳转
    阅读数:370 面试 Android
  • 【Android】Android UI 开发_习题

    Content单选题判断题填空题ByMyself单选题下列表示Toast较长时间显示的是()。A、Toast.LENGTH_LONGB、Toast.LONGC、Toast.LENGTH_SHORTD、Toast.SHORT在
    阅读数:411 Android
  • 【Android】Android UI 开发_问答_2

    Content常见布局线性布局表格布局网格布局一个简单的UI主题和样式常见布局如何在MainActivity.java中设置activity的布局文件在 onCreate 回调方法中protected void onCreate(B
    阅读数:565 Android
  • 【Android】Android UI 开发_问答_1

    ContentUI 概览显示度量单位UI 概览定义布局的手段有几种?两种声明布局的方式:在 XML 中声明 UI例如元素用于创建一个 LinearLayout 视图组 (ViewGroup)运行时实例化布局元素,编程创建
    阅读数:822 Android
  • 【Android】Android UI 开发_问答_3

    Content对不同屏幕的支持按钮文本框复选框Toast一个布局案例对不同屏幕的支持屏幕大小的分类有哪些?small,normal,large,xlarge密度的分类有哪些?low (ldpi),medium (mdpi),hig
    阅读数:254 Android
  • Android系统自带样式 (android:theme)

    android:theme="@android:style/Theme.Dialog" : Activity显示为对话框模式 android:theme="@android:style/Theme.NoTitleBar" : 不显示应用程序
    阅读数:850 Android
  • Android开发之Android Studio安装教程

    Android开发之Android Studio安装教程下载Android Studio安装安装JDK安装Android Studio下载Android StudioAndroid Studio官网下载安装安装JDKAndroid
  • Android 推送原理(Android Push Notification)详解

    Android 推送原理由于最近项目中涉及到了Android推送,所以看了一些关于android推送方面的东西,总结到后面我们知道android推送的实现可以归结为3种:1、POLL,拉。大致思路为向服务器定时的发送请求,然后自己让服务器
    阅读数:176 notification Android
  • Android Zipalign工具优化Android APK应用

    生成的Android应用APK文件最好进行优化,因为APK包的本质是一个zip压缩文档,经过优化能使包内未压缩的数据有序的排列,从而减少应用程序运行时的内存消耗。我们可以使用Zipalign工具进行APK优化。
    阅读数:843 apk Android
  • 【android编程】Android基本控件实践题

    【android编程】 第四讲-Android基本控件实践题文章目录【android编程】 第四讲-Android基本控件实践题1. 编辑框 EditText+普通按钮 Button+表格布局0. 题目要求1. activity_main
    阅读数:268 Android
  • Android面试

    Java基础1.String str = new String(“abc”) 创建了几个对象?Android1:你是如何理解Android操作系统的。2:是否熟悉framework层,如果熟悉,那就对framework做个简介。3
    阅读数:644 Android
  • Android动画

    源码地址: https://download.csdn.net/download/dreams_deng/122363551. 理论知识1.1 动画类型:View动画 :   View本身在动Drawable动画:  View中内容
    阅读数:287 Android
  • Android - 权限

    文章目录基础PackageManager检查权限请求权限流程处理权限请求响应常用权限权限清单 Manifest.permission拨打电话权限读写外部文件权限保存到公开目录保存到私有目录基础权限声明在 AndroidManifest.
    阅读数:701 Android
  • Android SharedPreferences

    一、文件操作模式Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容。Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加
    阅读数:128 Android
  • 【Android】Activity

    Content1. 创建一个Activity的流程2. 启动另一个Activity3. Activity生命周期4. Activity的四种launchMode5. Intent 和 Intent 过滤器6. 与其他应用交互7. 允许其他应
    阅读数:674 activity Android
  • Android Sqlite

    什么是Sqlite小型的、可嵌入、开源的关系型数据库,效率高,无数据类型,支持事务操作,程序驱动。跨平台的磁盘文件代码量少api简单易用1. sqlite数据库支持的数据类型Integer、varchar(10)、float、d
    阅读数:506 SQLite Android