多媒体音乐播放器
来源:互联网 发布:淘宝网防晒衣 编辑:程序博客网 时间:2024/04/30 22:47
多媒体之音频播放
1.MediaPlayer
<1>播放应用内的音频文件:音频文件存放位置:raw目录(注意:文件名必须符合变量命名规则)
API:创建:MediaPlayer media=MediaPlayer.create(context,R.raw.文件)
判断音频是否正在播放:media.isPlaying()
播放:media.start()
暂停:media.pause()
音乐时间:media.getDuration()
音乐当前播放位置:media.getCurrentPosition()
在某个位置播放:media.seekTo(int)
播放完成事件:media.setOnCompletionListener()
停止:media.stop()
释放内存:media.relaese()
<2>播放SD卡上的音频文件:音频文件存放位置:内存卡
API:创建:MediaPlayer media=new MediaPlayer()
设置播放的类型:media.setAudioStreamType(AudioManager.STREAM_MUSIC);
设置音源:media.setAudioStreamType(context,Uri)
Uri uri=Uri.parse("file://mnt/sdcard/音乐路径");
准备:media.prepare()
开始播放:media.start()
<3>播放Internet上的音频文件:音频文件存放位置:网络。注意:需要添加联网的权限
API:创建:MediaPlayer media=new MediaPlayer()
设置播放的类型:media.setAudioStreamType(AudioManager.STREAM_MUSIC);
设置音源:media.setDataSource(context,Uri)
Uri uri=Uri.parse("网络音乐文件路径");
异步准备:media.preparedAsync();
监听:media.setOnPreparedListener
设置缓冲的监听器:media.setOnBufferingUpdateListener
1.MediaPlayer
<1>播放应用内的音频文件:音频文件存放位置:raw目录(注意:文件名必须符合变量命名规则)
API:创建:MediaPlayer media=MediaPlayer.create(context,R.raw.文件)
判断音频是否正在播放:media.isPlaying()
播放:media.start()
暂停:media.pause()
音乐时间:media.getDuration()
音乐当前播放位置:media.getCurrentPosition()
在某个位置播放:media.seekTo(int)
播放完成事件:media.setOnCompletionListener()
停止:media.stop()
释放内存:media.relaese()
<2>播放SD卡上的音频文件:音频文件存放位置:内存卡
API:创建:MediaPlayer media=new MediaPlayer()
设置播放的类型:media.setAudioStreamType(AudioManager.STREAM_MUSIC);
设置音源:media.setAudioStreamType(context,Uri)
Uri uri=Uri.parse("file://mnt/sdcard/音乐路径");
准备:media.prepare()
开始播放:media.start()
<3>播放Internet上的音频文件:音频文件存放位置:网络。注意:需要添加联网的权限
API:创建:MediaPlayer media=new MediaPlayer()
设置播放的类型:media.setAudioStreamType(AudioManager.STREAM_MUSIC);
设置音源:media.setDataSource(context,Uri)
Uri uri=Uri.parse("网络音乐文件路径");
异步准备:media.preparedAsync();
监听:media.setOnPreparedListener
设置缓冲的监听器:media.setOnBufferingUpdateListener
代码如下:
MainActivity.java:
package com.example.works_android0720;import android.media.AudioManager;import android.media.MediaPlayer;import android.net.Uri;import android.os.Environment;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ImageButton;import android.widget.SeekBar;import java.io.IOException; public class MainActivity extends AppCompatActivity { private SeekBar sb_main_bar; private MediaPlayer mediaPlayer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sb_main_bar = (SeekBar) findViewById(R.id.sb_main_bar); //给进度条设置滑动监听 sb_main_bar.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) { //获取当前进度条的位置 int currentPosition=seekBar.getProgress(); //跳转到某个位置进行播放 mediaPlayer.seekTo(currentPosition); } }); } public void playOrPause(View view){ final ImageButton imageButton= (ImageButton) view; //实例化MediaPlayer if(mediaPlayer==null){ //mediaPlayer = MediaPlayer.create(this, R.raw.s1); if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ String sdPath=Environment.getExternalStorageDirectory().getAbsolutePath(); mediaPlayer=new MediaPlayer(); //设置音频流的类型 mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); //设置音源 try { //mediaPlayer.setDataSource(this, Uri.parse("file://"+sdPath+"/s1.mp3")); mediaPlayer.setDataSource(this, Uri.parse("http://192.168.43.77:7788/s2.mp3"));// 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 time= mediaPlayer.getDuration(); //设置进度条的最大值,为音乐的播放时间 sb_main_bar.setMax(time); 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); } } class MyThread extends Thread{ @Override public void run() { super.run(); while(sb_main_bar.getProgress()<sb_main_bar.getMax()){ //获取音乐当前的播放位置 int currentPosition=mediaPlayer.getCurrentPosition(); sb_main_bar.setProgress(currentPosition); } } }}activity_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.works_android0720.MainActivity"> <SeekBar android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/sb_main_bar"/> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/ic_media_play" android:onClick="playOrPause"/></LinearLayout>-------AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.works_android0720"> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
阅读全文
0 0
- 多媒体音乐播放器
- 多媒体_音乐播放器
- Android多媒体(音乐播放器)
- 27.多媒体(音乐播放器)
- Android多媒体--音乐播放器实例
- Android 多媒体中的音乐播放器编程
- android 多媒体——音乐播放器
- 安卓 多媒体音乐播放器
- 多媒体(音乐播放器+视频)
- Android多媒体之音乐播放器
- 多媒体音乐播放器(MediaPlayer)
- Android 多媒体中的音乐播放器
- Android多媒体(音乐播放器)实例
- android多媒体音乐(MediaPlayer)播放器
- Android---多媒体(音乐播放器)
- Android 多媒体(音乐播放器)
- 多媒体之播放音乐
- 多媒体之播放音乐
- UVA 725 Division
- 绝对路径和相对路径
- 单词逆序输出的简便方法
- react-router的改变(下)
- Linux 的启动流程
- 多媒体音乐播放器
- (转)Rust: Rust的 Deref 运算符
- Tomcat学习总结(7)—— Tomcat常用参数配置说明
- redis集群安装配置
- RSA--低加密指数广播攻击例子
- jsp中动态增加html模块并提交表单的几个问题
- 【C++】将字符串中的空格替换成字符
- Hadoop系列--Linux下Hadoop安装与配置
- hdu 1466