播放本地音乐不能播放,求解决
我的代码是这样的
public void PlayMusic(){
mp.reset();
mp.setDataSource("/assets/aaa.mp3");
mp.prepare();
mp.start();
}
点播放没有效果 求解答 求解答
我的代码是这样的
public void PlayMusic(){
mp.reset();
mp.setDataSource("/assets/aaa.mp3");
mp.prepare();
mp.start();
}
点播放没有效果 求解答 求解答
1,最好用service控制音乐播放,音乐文件放在res/raw/mayday.mp3
2,serviceplayer要继承service。
3,在onCreate中创建加载res/raw/mayday
mPlayer=MediaPlayer.create(this, R.raw.mayday);4,在onStart中
mPlayer,start();
我也是初学者,学过一点这个地方。
import java.io.FilenameFilter;
import java.io.IOException;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;import android.R.string;
import android.app.Activity;
import android.app.ListActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.text.style.UpdateLayout;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.ImageButton;
import android.widget.ListView;class Mp3Filter implements FilenameFilter { @Override
public boolean accept(File dir, String name) { return (name.endsWith(".mp3"));
}}public class Mp3PlayerActivity extends ListActivity {
/** Called when the activity is first created. */
private static final String SD_PATH = new String("/sdcard/music/");
private List<String> songs = new ArrayList<String>();
private MediaPlayer mp = new MediaPlayer();
private ImageButton stop = null;
private ImageButton pause =null;
private ImageButton play =null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); pause = (ImageButton)findViewById(R.id.pause);
stop = (ImageButton)findViewById(R.id.stop);
play = (ImageButton)findViewById(R.id.play); play.setOnClickListener(musicListener);
pause.setOnClickListener(musicListener);
stop.setOnClickListener(musicListener);
UpdateList();
}
private OnClickListener musicListener = new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.pause:
mp.pause();
break;
case R.id.stop:
mp.stop();
break;
case R.id.play:
mp.start();
break;
default:
break;
}
}
};
private void UpdateList() {
File home = new File(SD_PATH);
if(home.listFiles(new Mp3Filter()).length>0){
for(File file:home.listFiles(new Mp3Filter())){
songs.add(file.getName());
}
Collections.sort(songs);
ArrayAdapter<String> songList = new ArrayAdapter<String>(this, R.layout.song_item, songs);
setListAdapter(songList);//extends ListActivity 不然要报错
}
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
try {
mp.reset();
mp.setDataSource(SD_PATH+songs.get(position));
mp.prepare();
mp.start(); } catch (IOException e) {
Log.v(getString(R.string.app_name), e.getMessage());
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mp.release();
}
}