使用
MediaPlayer 对音频操作
1.Android-播放应用内音频文件
//实例化一个MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.danche);//R.raw.danche为mp3音频文件路径
//设置类型 mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);现在AndroidManifest中添加权限
< uses-permission Android:name=”android.permission.READ_EXTERNAL_STORAGE” />
主界面我们设置一个SeekBar
//设置音源 try { // mediaPlayer.setDataSource(this, Uri.parse("file://mnt/sdcard/Music/f.mp3")); //播放网络音乐 mediaPlayer.setDataSource(this, Uri.parse("http://192.168.43.135/internet.mp3"));2.Android-播放sd卡文件
// mediaPlayer.prepare();
//准备(网络)
mediaPlayer.prepareAsync();
} catch (IOException e) {
e.printStackTrace();
}//设置监听 mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mediaPlayer.start(); //播放图标换成暂停图标 imageButton.setImageResource(android.R.drawable.ic_media_pause); //获取音乐总时长 int duration = mediaPlayer.getDuration(); //设置进度条最大音乐总时长 seekbar.setMax(duration); new MyThread().start(); } });mediaPlayer.start(); //播放图标换成暂停图标 imageButton.setImageResource(android.R.drawable.ic_media_pause);//ic_media_pause为暂停图标
//获取音乐总时长 int duration = mediaPlayer.getDuration(); //设置进度条最大音乐总时长 seekbar.setMax(duration); new MyThread().start();}else if (mediaPlayer.isPlaying()){ mediaPlayer.pause(); //播放图标换成暂停图标 imageButton.setImageResource(android.R.drawable.ic_media_play);}else { mediaPlayer.start(); //播放图标换成暂停图标 imageButton.setImageResource(android.R.drawable.ic_media_pause);}写一个MyThread类,为了让进度条随着播放进度动起来class MyThread extends Thread{ @Override public void run() { super.run(); while(seekBar.getProgress()<=seekBar.getMax()){ //获取当前音乐播放的位置 int currentPosition=mediaPlayer.getCurrentPosition(); //让进度条动起来 seekBar.setProgress(currentPosition); } } }注意:播放网络音频文件需要提供一个局域网
我这里暂时用Tomcat替代服务器,找到apache文件夹中的bin文件夹,打开startup.bat,保证局域网打开,将要播放的mp3文件放到apache/webapps/ROOT子文件夹中
运行cmd,输入命令“ipconfig”在“无线局域网适配器 无线网络连接:”后缀有IPv4地址,可以运行APP的时候输入网址“193.168.5.129.danche.mp3”便会下载当然,这里遇到过一个小问题,那就是cmd输入命令“ipconfig”,会报一个“‘ipconfig’不是内部或外部命令,也不是可运行的程序或批处理文件”的错误是因为环境变量设置缺失的问题,只要在环境变量设置中的path编辑中,末尾加入一个分号,在加入内容“c:\windows\system32”,然后再运行cmd命令,便可查看ip地址。