meysam jahedi
دوشنبه 10 اسفند 1394, 08:48 صبح
سلام
وقتتون بخیر
یه کلاس MyAdapter دارم که باهاش یه لیست اسم آهنگ رو میفرسته :
public class MyAdapter extends ArrayAdapter<String>{
private final Activity context;
public static MediaPlayer mp= new MediaPlayer();
//
private final String[] NameMusicc;
private final String path;
private static SharedPreferences sp;
private static String shart="play";
public MyAdapter(Activity context,String[] nameMusic,String path) {
super(context, R.layout.row_music, nameMusic);
this.context = context;
this.NameMusicc = nameMusic;
this.path=path;
//
}
@SuppressLint("ViewHolder")
@Override
public View getView(final int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.row_music, null, true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.row_music_txt);
final ImageView imageView_play = (ImageView) rowView.findViewById(R.id.row_music_play);
ImageView imageView_share = (ImageView) rowView.findViewById(R.id.row_music_share);
ImageView imageView_down = (ImageView) rowView.findViewById(R.id.row_music_down);
txtTitle.setText(NameMusicc[position]);
imageView_play.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try{
mp.reset();
mp.setDataSource(path + NameMusicc[position]);
mp.prepare();
mp.start();
} catch (IOException e){
//Log.v(getString(R.string.app_name), e.getMessage());
}
}
});
imageView_share.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});
imageView_down.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});
return rowView;
}
}
یه کلاس دیگه که MyAdapter فراخونی میشه ، و دستورات SeekBar :
public class Sher extends ListActivity {
//jadid
ListView list;
// MediaPlayer mediaPlayer;
SeekBar seek_bar;
Button pause_button;
// ImageButton play_button;
Handler seekHandler = new Handler();
String[] NmaeMusic = {
"لالایی",
"Lalaei.mp3",
"Java",
"Php",
"Sqllite",
"Html",
"C#"};
//
public String SD_PATH = new String ("/mnt/sdcard/");
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sher);
pause_button = (Button) findViewById(R.id.sher_puse_play);
seek_bar = (SeekBar) findViewById(R.id.sher_seek);
setListAdapter(new MyAdapter(this, NmaeMusic,SD_PATH));
seek_bar.setMax(MyAdapter.mp.getDuration());
seekUpdation();
pause_button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// seekUpdation();
MyAdapter.mp.stop();
}
});
}
Runnable run = new Runnable() {
@Override
public void run() {
seekUpdation();
}
};
public void seekUpdation() {
seek_bar.setProgress(MyAdapter.mp.getCurrentPositi on());
seekHandler.postDelayed(run, 1000);
seek_bar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seek_bar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seek_bar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seek_bar, int progress, boolean fromUser) {
if(fromUser){
MyAdapter.mp.seekTo(progress);
seek_bar.setProgress(progress);
}
}
});
}
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if(fromUser){
MyAdapter.mp.seekTo(progress);
seekBar.setProgress(progress);
}
}
////
@Override
public void onBackPressed() {
MyAdapter.mp.stop();
finish();
}
}
با پخش وplay موزیک و توقفش مشکلی ندارم ، اما هرکاری میکنم SeekBar با MyAdapter.mp متچ نمیشه و با موزیک حرکت نمیکنه و وقتی SeekBar رو حرکت میدم آهنگ Stop میشه .
ممنون میشم راهنمایی کنید.
وقتتون بخیر
یه کلاس MyAdapter دارم که باهاش یه لیست اسم آهنگ رو میفرسته :
public class MyAdapter extends ArrayAdapter<String>{
private final Activity context;
public static MediaPlayer mp= new MediaPlayer();
//
private final String[] NameMusicc;
private final String path;
private static SharedPreferences sp;
private static String shart="play";
public MyAdapter(Activity context,String[] nameMusic,String path) {
super(context, R.layout.row_music, nameMusic);
this.context = context;
this.NameMusicc = nameMusic;
this.path=path;
//
}
@SuppressLint("ViewHolder")
@Override
public View getView(final int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.row_music, null, true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.row_music_txt);
final ImageView imageView_play = (ImageView) rowView.findViewById(R.id.row_music_play);
ImageView imageView_share = (ImageView) rowView.findViewById(R.id.row_music_share);
ImageView imageView_down = (ImageView) rowView.findViewById(R.id.row_music_down);
txtTitle.setText(NameMusicc[position]);
imageView_play.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try{
mp.reset();
mp.setDataSource(path + NameMusicc[position]);
mp.prepare();
mp.start();
} catch (IOException e){
//Log.v(getString(R.string.app_name), e.getMessage());
}
}
});
imageView_share.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});
imageView_down.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});
return rowView;
}
}
یه کلاس دیگه که MyAdapter فراخونی میشه ، و دستورات SeekBar :
public class Sher extends ListActivity {
//jadid
ListView list;
// MediaPlayer mediaPlayer;
SeekBar seek_bar;
Button pause_button;
// ImageButton play_button;
Handler seekHandler = new Handler();
String[] NmaeMusic = {
"لالایی",
"Lalaei.mp3",
"Java",
"Php",
"Sqllite",
"Html",
"C#"};
//
public String SD_PATH = new String ("/mnt/sdcard/");
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sher);
pause_button = (Button) findViewById(R.id.sher_puse_play);
seek_bar = (SeekBar) findViewById(R.id.sher_seek);
setListAdapter(new MyAdapter(this, NmaeMusic,SD_PATH));
seek_bar.setMax(MyAdapter.mp.getDuration());
seekUpdation();
pause_button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// seekUpdation();
MyAdapter.mp.stop();
}
});
}
Runnable run = new Runnable() {
@Override
public void run() {
seekUpdation();
}
};
public void seekUpdation() {
seek_bar.setProgress(MyAdapter.mp.getCurrentPositi on());
seekHandler.postDelayed(run, 1000);
seek_bar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seek_bar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seek_bar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seek_bar, int progress, boolean fromUser) {
if(fromUser){
MyAdapter.mp.seekTo(progress);
seek_bar.setProgress(progress);
}
}
});
}
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if(fromUser){
MyAdapter.mp.seekTo(progress);
seekBar.setProgress(progress);
}
}
////
@Override
public void onBackPressed() {
MyAdapter.mp.stop();
finish();
}
}
با پخش وplay موزیک و توقفش مشکلی ندارم ، اما هرکاری میکنم SeekBar با MyAdapter.mp متچ نمیشه و با موزیک حرکت نمیکنه و وقتی SeekBar رو حرکت میدم آهنگ Stop میشه .
ممنون میشم راهنمایی کنید.