不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
Android使用MediaPlayer播放mp3音乐示例
编辑:dnawo 日期:2016-10-14
复制内容到剪贴板
程序代码

package com.mzwu.www;
import android.content.res.AssetFileDescriptor;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
//播放器
private MediaPlayer mp = new MediaPlayer();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//开始播放
Button btnPlay = (Button)findViewById(R.id.button);
btnPlay.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
String soundfile = ((EditText)findViewById(R.id.editText)).getText().toString();
try {
mp.reset();
if(soundfile.startsWith("http:")){
mp.setDataSource(soundfile);
}else{
AssetFileDescriptor fileDescriptor = MainActivity.this.getAssets().openFd(soundfile);
mp.setDataSource(fileDescriptor.getFileDescriptor(),
fileDescriptor.getStartOffset(),
fileDescriptor.getLength());
fileDescriptor.close();
}
mp.prepare();
mp.start();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
//播放结束
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){
public void onCompletion(MediaPlayer mp) {
Toast.makeText(MainActivity.this, "播放结束!", Toast.LENGTH_SHORT).show();
}
});
}
//释放播放器占用的资源
@Override
protected void onDestroy() {
if(mp != null)
{
mp.release();
}
super.onDestroy();
}
}
import android.content.res.AssetFileDescriptor;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
//播放器
private MediaPlayer mp = new MediaPlayer();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//开始播放
Button btnPlay = (Button)findViewById(R.id.button);
btnPlay.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
String soundfile = ((EditText)findViewById(R.id.editText)).getText().toString();
try {
mp.reset();
if(soundfile.startsWith("http:")){
mp.setDataSource(soundfile);
}else{
AssetFileDescriptor fileDescriptor = MainActivity.this.getAssets().openFd(soundfile);
mp.setDataSource(fileDescriptor.getFileDescriptor(),
fileDescriptor.getStartOffset(),
fileDescriptor.getLength());
fileDescriptor.close();
}
mp.prepare();
mp.start();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
//播放结束
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){
public void onCompletion(MediaPlayer mp) {
Toast.makeText(MainActivity.this, "播放结束!", Toast.LENGTH_SHORT).show();
}
});
}
//释放播放器占用的资源
@Override
protected void onDestroy() {
if(mp != null)
{
mp.release();
}
super.onDestroy();
}
}
参考资料
[1].深入Android MediaPlayer的使用方法详解:http://www.jb51.net/article/38722.htm
[2].Android MediaPlayer基本使用方式:http://blog.csdn.net/ddna/article/details/5176233
[3].MediaPlayer实现列表选歌:http://www.cnblogs.com/snake-hand/archive/2013/02/22/2922923.html
[4].创建OnClickListener方法报错的解决办法:http://blog.csdn.net/wpyily/article/details/46503709






评论: 0 | 引用: 0 | 查看次数: 3780
发表评论
请登录后再发表评论!