Media Playback

Android在app 内无论是播放视频还是播放音频,都会使用到Mediaplayer。
此篇关于Meidaplayer 的简单设置。
class Myservice extends Service implements Mediaplayer.onPreparedListerner, Mediaplayer.onErrorListener{
    Mediaplayer mMediaplayer;

    /**
    * 省去部分Service 初始化操作
    * /

    public void onCreate(){
        mMeidaplayer = new Mediaplayer();
        Uri mUri = ... // 设置视频、音频文件的uri 地址
        // 设置Mediaplayer 为音频播放
        mMeidaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

        // Mediaplayer 设置dataSource 需要使用try-catch 模块
        try{
            mMeidaplayer.setDataSource(getApplicationContext(), uri);
        }catch(IOException e){
            e.printStackTrace();
        }catch(IllegalArgumentException e){
            e.printStackTrace();
        }

        mMeidaplayer.setOnPreparedListener(this);
        mMeidaplayer.setOnErrorListener(this);

        /** 使用prepareAsync() 而不是 prepare()
        *    因为prepare() 所需要的时间较长
        */
        mMeidaplayer.prepareAsync();
    }

    /**
    *    当prepareAsync() 方法完成时
    *    系统会调用onPrepared() 方法开始Mediaplayer
    * /
    public void onPrepared(Mediaplayer player){
        player.start();
    }

    public boolean onError(Mediaplayer mp, int what, int extra){
        // Mediaplayer 在出现错误后要调用reset() 方法
        mp.reset();
        // ...
        return false;
    }

    /**
    * Mediaplayer 非常占用系统资源
    * 在关闭Service 后一定要释放资源
    * /
    public void onDestroy(){
        super.onDestroy();
        if(mMeidaplayer != null)
            mMeidaplayer.release();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值