FmlPlayer - 基于BASS音频库封装的Android音频播放库

Github:https://github.com/ViTess/Android-FmlPlayer

Android-FmlPlayer

version - 0.1.0

概要

基于BASS、BASS_FX两个库的封装,可直接用于Android

提供最基础的音频播放、部分音效处理,目前仅支持OGG、MP3、WAV格式音频

支持OGG格式音频无缝循环,支持在线音频播放和下载

BASS and BASS_FX Library:http://www.un4seen.com/

如何使用

  • 导入

    将AudioLibrary作为module导入,并设置为library

  • 初始化和销毁

    在程序的入口处(如Activity或Application中的onCreate)处初始化音频库:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        FmlPlayer.init(this, true);
    }

    在程序的结束处调用释放音频库:

    @Override
    protected void onDestroy() {
        FmlPlayer.free();
        super.onDestroy();
    }

    在初始化音频库后,即可像初始化MediaPlayer一样使用FmlPlayer:

    FmlPlayer mPlayer = new FmlPlayer();
  • 设置播放路径

    目前支持的路径有assets、本地sdcard和网络链接

    setAssetFile
    setExternalFile
    setNetFile
  • 调用prepare方法

    设置完路径后即可调用mPlayer.prepare()方法加载音频,注意设置网络链接后应调用mPlayer.prepareAsync()方法异步加载并设置OnPreparedListener监听准备事件

  • 控制播放、暂停、关闭

    经过prepare后,即可调用mPlayer.play(),mPlayer.pause(),mPlayer.stop()方法操作音频

    另外像调节音量、在线音频部分参数设置、下载音频等,可以参看demo中的例子

  • 重置、释放资源

    像MediaPlayer一样,在需要重置的地方调用mPlayer.reset()

    而在不需要再次播放音频后,请使用mPlayer.release()释放资源

使用Fx功能

Fx功能是通过封装BASS_FX库实现的,目前可支持的音效有:

  • Rotate
  • AutoWah
  • Phaser
  • Chorus
  • Echo
  • PeakEQ

在需要使用时,只需调用相关效果的set方法,最后update到FmlPlayer中即可:

FxController mFxCtrl = new FxController();
mFxCtrl.setRotate().setAutoWah();
mFxCtrl.setPhaser();
...

mFxCtrl.update(mPlayer);

在不需要部分音效时,同样只需调用相关效果的reset方法,并update到FmlPlayer即可

如需要取消所有音效或释放FmlPlayer时,请调用mFxCtrl.release()

每一项音效对应的参数都有多种,可以自己调♂教;同时部分音效有预设了部分设置在其中提供调用,详细请参考demo中的例子

TODO

在有时间的前提下,会逐步添加完善其他功能,如增加可支持音频类型的相关库类、增加TAG的读取支持等

Update Record

160628:
    1. 增加在线音频播放、下载功能
    2. 增加相关网络参数设置
    3. 更改代码结构、更正原有代码中的bug

160421:
    1. 修改项目为gradle
    2. 将BASS库打包为jar引用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值