广告
返回顶部
首页 > 资讯 > 移动开发 >Android:VolumeShaper
  • 28156
分享到

Android:VolumeShaper

Android 2022-06-06 13:06:55 28156人浏览 独家记忆
摘要

VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26) 进一步学习对声音的编辑,可以让音频的声音有变化的播放 Volu

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26) 进一步学习对声音的编辑,可以让音频的声音有变化的播放 Volu...
    99+
    2022-06-06
    Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作