Android 本地音频播放 MediaPlayer使用方法

程序的运行效果:

Android 本地音频播放 MediaPlayer使用方法_第1张图片

首先是布局文件:

text="@string/music_name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    id="@+id/sbar_mp_audio"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    "fill_parent"
        android:layout_height="wrap_content">


        

然后是代码部分:

播放音频单击事件


if(!isPause){//如果不是暂停状态
    mediaPlayer = new MediaPlayer();//初始化mediaPlayer
    mediaPlayer.reset();//重置mediaPlayer播放状态为初始状态
    mediaPlayer = MediaPlayer.create(this,R.raw.suanshenmenanren);//装载需要播放的音频文件
    m_sbarAudio.setMax(mediaPlayer.getDuration());//设置SeekBar的长度为mediaPlayer的音频长度(获取的长度单位为毫秒)
}
mediaPlayer.start();

暂停音频事件:

mediaPlayer.pause();//暂停当前银屏
isPause = true;//设置为暂停状态

停止音频事件:

mediaPlayer.stop();//停止当前音频
isPause = false;//设置为不是暂停状态

SeekBar拖动播放音频事件:

setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            //停止滑动后触发
            public void onStopTrackingTouch(SeekBar seekBar) {
                mediaPlayer.seekTo(m_sbarAudio.getProgress());//从滑块的位置开始播放音频(具体步骤:音频-调到-滑块停止的位置-播放)
            }
        });

getDuration()方法:

    /**
     * Gets the duration of the file.
     * 获取文件的持续时间
     *
     * @return the duration in milliseconds, if no duration is available
     * 以毫秒为单位的时间,如果没有持续可用
     *         (for example, if streaming live content), -1 is returned.
     * 将返回-1
     */
    public native int getDuration();

你可能感兴趣的:(android)